0
我在我的表class
中有一个自动生成列ID
。在插入时,我想获取假设为该列生成的自动ID的值,同时插入并连续插入到作为6位唯一密钥的REF
列中的值。如何获取自动生成列的下一个ID
我如何找到要生成的下一列的ID
,很容易将1
添加到前一个ID
但是如果删除了以前的id,该怎么办?请帮我理解如何解决这个问题。
我不希望ID
被删除的项目被赋予一个新的项目。
我在我的表class
中有一个自动生成列ID
。在插入时,我想获取假设为该列生成的自动ID的值,同时插入并连续插入到作为6位唯一密钥的REF
列中的值。如何获取自动生成列的下一个ID
我如何找到要生成的下一列的ID
,很容易将1
添加到前一个ID
但是如果删除了以前的id,该怎么办?请帮我理解如何解决这个问题。
我不希望ID
被删除的项目被赋予一个新的项目。
您可以使用SCOPE_IDENTITY()获取当前作用域中最后创建的标识值。下一个值会从中增加,但不能确定它会在您的范围内,另一个范围内或其他范围内。删除不会影响下一个值。
为什么你需要“下一个值”?
我不认为有一种方法来获取下一个ID,因为如果您获取该ID并且另一个进程在同一时间获取该ID,会发生什么情况。数据库是否应该返回两个相同的ID? 你可以做的是获取刚刚插入的行的ID,并基于那个UPDATE引用列在另一个查询! –
你**不能** - 期限。直到您将该行实际插入表格中为止,“IDENTITY”列的值为** NOT **。在实际插入行之前,您无法提前确定该值。 –