我遇到了问题。我使用的是SQL Server 2008 Express。
当新行插入表时,IDENT_CURRENT
函数返回正确的值(最后插入的行id)。但是当删除最后一个插入的行(DELETE FROM REPORT WHERE ID='last_inserted_id'
)时,IDENT_CURRENT
函数返回已删除行的id。它没有更新。
我需要从表中返回最后一个id。
SELECT IDENT_CURRENT('report')
答案 0 :(得分:2)
这是按预期工作的。该函数返回最后使用的标识值,即使它已被删除。以下是Microsoft文档的摘录:
IDENT_CURRENT返回在任何会话和任何范围内为特定表生成的最后一个标识值。
答案 1 :(得分:1)
身份总是上升。如果删除行,它不会下降。此外,它可以在值中具有“空白”。 阅读本文的详细信息http://technet.microsoft.com/en-us/library/ms186775.aspx
答案 2 :(得分:0)
如果您想要在表格中找到最大ID,请使用
SELECT MAX(ID) FROM table