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