1、先在一查询分析器中执行以下语句: declare @nameo varchar(50); Begin Set NOCOUNT ON; Set XACT_ABORT ON; Begin Tran Insert into users ([id],[name],create_date)values('1','1',getdate()) WAITFOR DELAY '00:00:20'; select @nameo=[name] from users where [id]='1' print @nameo Commit Tran End 2、执行完1后,在另一查询分析器中执行如下语句(要在执行完1后20秒内执行完2) Insert into users ([id],[name],create_date)values('1','2',getdate()) 结果1中输出“2” 说明:取得的数据不正确,试想一下,在我插入数据之后查询之前,另一个用户也插入了一条数据,那么我取得的数据就不是我刚刚插入的那一条。 那么,如何取得自己刚刚插入那一条记录的ID呢,其实,这个ID是自增的,所以 将“ select @nameo=[name] from users where [id]='1' ”换成“ select @nameo=@@IDENTITY from users ” 问题解决!
关于查询自己刚刚插入的那一条数据的方法
最新推荐文章于 2022-06-17 10:55:49 发布