博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何准确高效的获取数据库新插入数据的主键id
阅读量:6267 次
发布时间:2019-06-22

本文共 970 字,大约阅读时间需要 3 分钟。

例如我们新建了一张表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

转载于:https://www.cnblogs.com/youguess/p/9261124.html

你可能感兴趣的文章
FP-Tree算法的实现
查看>>
Android 用Handler和Message实现计时效果及其中一些疑问
查看>>
Dos命令删除添加新服务
查看>>
C#.NET常见问题(FAQ)-索引器indexer有什么用
查看>>
hadoop YARN配置参数剖析—MapReduce相关参数
查看>>
Java 正则表达式详细使用
查看>>
【ADO.NET】SqlBulkCopy批量添加DataTable
查看>>
SqlServer--bat批处理执行sql语句1-osql
查看>>
Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
查看>>
laravel安装初体验
查看>>
用yum查询想安装的软件
查看>>
TIJ -- 吐司BlockingQueue
查看>>
数据库分页查询
查看>>
[编程] C语言枚举类型(Enum)
查看>>
[Javascript] Compose multiple functions for new behavior in JavaScript
查看>>
ASP.NET MVC性能优化(实际项目中)
查看>>
ES6里关于类的拓展(一)
查看>>
零元学Expression Blend 4 - Chapter 46 三分钟快速充电-设定Margin的小撇步
查看>>
Format Conditions按条件显示表格记录
查看>>
RichTextBox指定全部文字显示不同颜色及部分文字高亮颜色显示
查看>>