问题: 删除某些行后是否可以回滚列的最大值(使用IDENTITY)?
问题: column(id)的值不会重新设置/回滚到列的当前最大值,它会随着最后一次已知的最大值递增。
答案 0 :(得分:2)
我假设你正在使用SQL Server。
您描述的行为是IDENTITY列按设计工作的方式。新行的值只会递增。这通常用于确保生成值的唯一性。如果删除记录,则会在数字上留下空隙。在TechNet上还有一句话:
如果存在经常删除的表的标识列,则标识值之间可能会出现间隙。如果这是一个问题,请不要使用IDENTITY属性。
如果需要,您可以重新设置标识,或者在使用SET IDENTITY_INSERT ON
时可以明确地在标识列中输入任何值,但这不是这些列的标准用法。