我看了一些其他问题,它们似乎与SQL-Server无关。SQL-Server常见问题 - 检索刚刚插入的ID
给出的简单示例查询:
INSERT INTO tblComments (comment, user) VALUES ('lol', 'Guest')
现在假设创建新用户后,我需要插入在需要最后输入ID其它表更多的数据,我会做:
SELECT TOP 1 ID FROM tblComments ORDER BY ID DESC
要检索最后输入的ID,(希望)在此期间没有执行任何查询,并且返回的ID确实是前一个查询的值。
我确保我的表格正常化,但是我有时遇到插入值可能不必独特的情况,所以我如何保证返回的ID是插入的最后一个?
如果你把两个查询放在同一个事务中,你应该相当确定它是正确的ID。 – 2010-10-05 12:21:10
竞赛条件或种族危害是电子系统或过程中的缺陷,由此过程的输出和/或结果出乎意料且严重依赖于其他事件的顺序或时间。该术语源于两个信号相互竞争以首先影响输出的想法。 (Wikipedia) – 2010-10-05 12:22:28
这个问题被标记为'uniqueidentifier' – 2010-10-05 12:23:45