我正在尝试将最后一个id插入表中.我在用
SELECT IDENT_CURRENT('TABLE')
Run Code Online (Sandbox Code Playgroud)
但问题是它不返回最后插入的id,它返回最大插入id.
例如,如果我这样做:
INSERT INTO 'TABLA' (ID) VALUES (100)
SELECT IDENT_CURRENT('TABLE') returns 100
Run Code Online (Sandbox Code Playgroud)
但是如果我这样做的话
INSERT INTO 'TABLA' (ID) VALUES (50)
SELECT IDENT_CURRENT('TABLE') returns 100
Run Code Online (Sandbox Code Playgroud)
我想要50岁
我需要一个特定的表的ID,并且我在dinamically中生成id,所以它不是一个标识我该怎么做?
从你的代码,它看起来像ID不为单位(自动递增)列,因此IDENT_CURRENT是不会做你期待什么.
如果你想找到最后插入行,你将需要一个代表插入时间日期时间列,然后你可以这样做:
SELECT TOP 1 [ID] FROM TABLEA ORDER BY [InsertedDate] DESC
Run Code Online (Sandbox Code Playgroud)
编辑:一些额外的说明: