首页 > 数据库技术 > 详细

如何准确高效的获取数据库新插入数据的主键id

时间:2018-07-04 00:38:24      阅读:225      评论:0      收藏:0      [点我收藏+]

例如我们新建了一张表UserInformation,字段如下Id,为主键,自增,其它字段Name,Pwd,Email

然后我们来执行一个新增插入操作:

insert into UserInformation
(Name,Pwd,Email) values(‘小明‘,‘123‘,‘111‘)

我们想在新增插入数据的时候获取到插入这条数据的主键的值是多少

 

解决的方法有两种:

1、一种是直接输入某个字段,然后查询,代码如下:

insert into UserInformation
(Name,Pwd,Email) values(‘小张‘,‘123‘,‘111‘) 
select @@identity

插入后获取,但是这种并不是完全准确的

insert into[Test1].[dbo].[UserInformation]
(Name,Pwd,Email) values(‘小张‘,‘123‘,‘111‘) 
select @@identity

涉及到数据库锁,如果调整了数据库锁,当数量级别特别大,有大量数据并发插入的时候可能会有误差。

2、另一种方法是在插入的同时进行输出,代码如下:

insert into UserInformation
(Name,Pwd,Email) output inserted.Id values(‘小明‘,‘123‘,‘111‘)

除了主键,也可以输出别的字段,准确高效。

推荐使用第二种

 

  insert into [DB_Date_Plan].[dbo].[T_userInfo]
(userName,userPassword,userEmail) output inserted.Id,inserted.userName values(小明22,12322,11122)

update [DB_Date_Plan].[dbo].[T_userInfo] set userName=XXX OUTPUT Inserted.id WHERE userPassword=admin

 

 

摘自:https://www.cnblogs.com/zhangchengye/p/5148545.html

如何准确高效的获取数据库新插入数据的主键id

原文:https://www.cnblogs.com/youguess/p/9261124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!