如何获取数据库新插入数据的主键id

 我来答
a1...y@163.com
2016-11-12 · 超过30用户采纳过TA的回答
知道答主
回答量:242
采纳率:0%
帮助的人:33万
展开全部
例如我们新建了一张表T_User,字段如下u_id,主键,为标示符,user_name......然后我们来执行一个新增插入操作:
     insert into T_User(user_name,user_password,user_email,user_ip)
     values('admin','123456','32962435@qq.com','58.20.158.20')   ;
     有一天,我们想在新增插入数据的时候获取到插入这条数据的u_id的值是多少,我们知道从MSSQL2005以后新增了一个output,用来输入某个值,我们就可以利用它来实现
解决的方法有两种:
1、一种是直接输入某个字段,如:
insert into T_User(user_name,user_password,user_email,user_ip)  output inserted.u_id   //output
inserted.u_id一定要放在 values之前,不能放在sql语句的最后面,不然是出错的,inserted是固定的,你想输入当前插入的某个字段就在后面接这个字段即可,我们想获得的是u_id所以是inserted.u_id
values('admin','123456','32962435@qq.com','58.20.158.20')   ;

2、另一种方法是使用@@identity,@@identity是系统内置的一个全局变量,其作用就是输入最后一次的标示符,我们可以两步走也可以通过一步实现
一步实现的代码如下
   insert into T_User(user_name,user_password,user_email,user_ip)  output @@identity
values('admin','123456','32962435@qq.com','58.20.158.20')   ;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式