MSSQL获取当前插入数据的id

本文介绍在MSSQL中如何在插入数据的同时获取该条记录的主键ID值,提供了两种方法:一是使用OUTPUT子句直接指定要输出的字段;二是使用系统内置变量@@identity。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    例如我们新建了一张表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,用来输入某个值,我们就可以利用它来实现

  方法有两种;一种是直接输入某个字段,如:

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')   ;

   另一种方法是使用@@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')   ;

 

 

 

 

转载于:https://www.cnblogs.com/beyond1983/archive/2012/12/07/2806848.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值