当前位置:   article > 正文

sql中插入一条记录并获取该条记录的自动增长ID

sql 获取自增id

经常会用到的往数据库插入一条记录并获取该条记录的ID。

千万不要去,先insert into一条记录,然后查询表格的最后一条记录是多少,这样会有问题的,如果同时有多个连接插入数据的话,你获取的可能不是你刚才的那条记录。

这个是比较小儿科做法,一般人估计不会这么干。

在sql2005以前很多人都是采用SELECT @@Identity来获取上一条记录的自动编号。

在insert into之后紧接着执行@@Identity。

C# ado.net中调用时,把两条语句作为一条sql,同时提交。用ExecuteScalar读取。

insert into employees values('张三1',1,27,'行政部门',getdate(),2300);select @@identity

而在sql2005中提供output关键字,一条语句语句就能搞定。
output inserted.id中id为所在表中自动编号的列名。inserted是固定写法。

在C#中调用同样使用ExecuteScalar就能获取单行单列值了。

insert into employees output inserted.id values('张三1',1,27,'行政部门',getdate(),2300) 

 

转载于:https://www.cnblogs.com/yuem/archive/2013/01/14/2859609.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/241227
推荐阅读
相关标签
  

闽ICP备14008679号