问:删除一些行后,是否可以回滚列的最大值(使用IDENTITY)?
问题:列(Id)的值不会重新设定种子/回滚到列的当前最大值,它会随着上一次已知的最大值递增。
发布于 2014-09-18 09:46:57
我假设您使用的是SQL Server。
您描述的行为是IDENTITY列的设计工作方式。新行的值只会不断递增。这通常用于确保生成的值的唯一性。如果删除记录,则会在数字上留下间隙。甚至在TechNet上也有这样的评论
如果存在频繁删除的表的标识列,则标识值之间可能存在间隙。如果这是一个问题,请不要使用IDENTITY属性。
如果需要,您可以重新设定identity的种子,或者在使用SET IDENTITY_INSERT ON时可以明确地将任何值输入到identity列中,但这不是这些列的标准用法。
https://stackoverflow.com/questions/25902716
复制相似问题