我看了一些其他问题,它们似乎与SQL-Server无关.
给出简单的示例查询:
INSERT INTO tblComments (comment, user) VALUES ('lol', 'Guest')
Run Code Online (Sandbox Code Playgroud)
现在假设在创建新用户之后我需要在需要最后输入ID的其他表中插入更多数据,我会这样做:
SELECT TOP 1 ID FROM tblComments ORDER BY ID DESC
Run Code Online (Sandbox Code Playgroud)
要检索最后输入的ID,(希望)在此期间没有执行任何查询,并且返回的ID确实是前一个查询的值.
我确实保持我的表规范化,但是我有时遇到插入值可能不一定是唯一的情况,那么如何保证返回的ID是最后一个插入的?
您的方法受到竞争条件的影响.
相反,使用SCOPE_IDENTITY:
select scope_identity()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |