【发布时间】:2014-01-15 07:17:30
【问题描述】:
我需要从SQL Server 获取下一个标识值。
我使用这个代码:
SELECT IDENT_CURRENT('table_name') + 1
这是正确的,但是当table_name 为空(并且下一个标识值为“1”)返回“2”但结果为“1”
【问题讨论】:
-
您无法可靠地找出下一个标识值 - 直到您实际插入一个新行到表中。停止尝试 - 你不会成功 - 只需接受这样一个事实:在行实际插入到表中并且 SQL Server 已分配该值之前,您无法知道
identity值。 -
我的问题是为什么。听起来你试图以更冗长的方式完成已经很容易的事情。解释你想做什么,也许有更好的方法。你永远不应该试图得到什么,因为当你使用它时,它可能不再是了。如果您继续,请告诉我它是什么应用程序,这样我就可以确保我以后不再使用。 :)
标签: c# sql-server tsql