SQL SERVER 2008获得最后的插入值

Raj*_*oit 5 sql jdbc sql-server-2008

这是我的桌子.

Ticket(id int auto_increment,name varchar(50));
Run Code Online (Sandbox Code Playgroud)

插入此表后,我希望发送id和邮件名称..如何获取最后一个Inserted值.

有助于解决这个问题......

Vis*_*har 9

请看:Scope_identity

SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)

从该表中获取标识属性的表我们可以得到最后插入的记录ID将是这样的

SELECT SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)

要么

但这不是一种安全的技术:

SELECT MAX(Id) FROM Ticket
Run Code Online (Sandbox Code Playgroud)

要么

这也不是一种安全的技术:

SELECT TOP 1 Id FROM Ticket ORDER BY Id DESC
Run Code Online (Sandbox Code Playgroud)

  • 在并发条件下,您的第二和第三个建议是不安全的. (4认同)