我有一个场景,比如我想在表中插入一条记录,然后我通过获取最后插入的行 ID 来更新同一条记录,所以现在我的问题是如果另一个用户在第一条记录更新之前插入一条新记录,所以根据在我的场景中,我得到了最后插入的行 Id ,在这种情况下,更新应用于最后一行而不是第一行,请提供任何解决方案。
如果表中有标识列,则这是针对SQL Server的,在插入后使用@@IDENTITY
变量或SCOPE_IDENTITY()
函数获取插入行的标识值,然后在更新时使用 Where 子句中的标识字段。
像这样的东西
INSERT INTO MyTable(FullName)
VALUES('My Name')
SELECT @IdVal = SCOPE_IDENTITY()
UPDATE MyTable SET Phone='1234' WHERE IdCol = @IdVal
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句