我玩 SQL 这么多年,从来没想过要问这个问题。
如果我在表中添加(插入)一行,并且它有一个标识列,我如何检索这个新行的标识?我很想听听一个解决方案,因为我担心我可能正在使用一些非常相似或重复的行的数据库上进行操作。
我玩 SQL 这么多年,从来没想过要问这个问题。
如果我在表中添加(插入)一行,并且它有一个标识列,我如何检索这个新行的标识?我很想听听一个解决方案,因为我担心我可能正在使用一些非常相似或重复的行的数据库上进行操作。
使用SCOPE_IDENTITY
函数获取当前范围内最后插入的标识。
如何检索 IDENTITY 列的值有三种主要功能/方式。请按照第一个链接进行简要说明。第二个(MSDN)提供了清晰的示例和比较:
如何获得身份的三种方式:@@IDENTITY
, SCOPE_IDENTITY()
,IDENT_CURRENT('TableName')
虽然@@IDENTITY
很可能是“最常用的”,但由于它的实现,它不必总是返回预期的标识值。在这里阅读更多