我看了一些其他问题,它们似乎与SQL-Server无关。
给出简单的示例查询:
INSERT INTO tblComments (comment, user) VALUES ('lol', 'Guest')
现在假设在创建新用户之后我需要在需要最后输入ID的其他表中插入更多数据,我会这样做:
SELECT TOP 1 ID FROM tblComments ORDER BY ID DESC
要检索最后输入的ID,(希望)在此期间没有执行任何查询,并且返回的ID确实是前一个查询的值。
我确保我的表格正常化,但是我有时遇到插入的值可能不一定是唯一的情况,那么如何保证返回的ID是最后一个插入的?
答案 0 :(得分:6)
答案 1 :(得分:0)
除了@ RedFilter的建议外,您还应该看看:
在您的情况下,SCOPE_IDENTITY可能是要走的路,除非您想要获得该身份,即使它被插入到不同的会话或范围中。
为了清楚起见,SCOPE_IDENTITY返回插入当前会话和范围中任何表的最后一个标识。