我有一个自增列,其属性为IDENTITY(1,1),所有行都按顺序编号。我没有添加或删除任何行。我现在想重新设置它的自增属性。我认为我可以通过将种子值设置为现有表中最大的数字来重新设置自增列。
如果我这样做会出现什么问题吗?
我有一个自增列,其属性为IDENTITY(1,1),所有行都按顺序编号。我没有添加或删除任何行。我现在想重新设置它的自增属性。我认为我可以通过将种子值设置为现有表中最大的数字来重新设置自增列。
如果我这样做会出现什么问题吗?
来自MSDN SQL Server论坛 - 你有2个选项:
*但是,当这些列具有任何约束关系时,请特别注意。
如MSDN文档中提到的,在部署和模式更新期间保留数据时需要考虑以下事项:
对表上Identity列的属性进行更改(例如Identity Seed)- "需要移动数据",在某些情况下,执行同步时可能会导致数据丢失。
在这种情况下建议:手动修改更新脚本以保留数据。