0

我有问题。我使用 SQL Server 2008 Express。

当新行插入表中时,该IDENT_CURRENT函数返回正确的值(最后插入的行 ID)。但是当最后插入的行被删除(DELETE FROM REPORT WHERE ID='last_inserted_id')时,该IDENT_CURRENT函数返回被删除行的 id。它不更新。

我需要从表中返回最后一个 id。

SELECT IDENT_CURRENT('report')
4

3 回答 3

2

这按预期工作。该函数返回最后使用的标识值,即使它已被删除。以下是 Microsoft 文档的摘录:

IDENT_CURRENT 返回为任何会话和任何范围内的特定表生成的最后一个标识值。

于 2013-11-02T06:07:51.930 回答
1

身份总是在上升。如果您删除行,它不会下降。另外,它的值可以有“空白”。阅读此内容以获取详细信息http://technet.microsoft.com/en-us/library/ms186775.aspx

于 2013-11-02T06:07:29.633 回答
0

如果您想要在表格中找到的最大 ID,只需使用

SELECT MAX(ID) FROM table
于 2014-05-26T14:25:59.713 回答