You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重建含Identity列的表后,原有分配的Identity值是否保留?

Identity列值在表重建时的保留规则

在SQL Server中,重建表时Identity列的原有值是否保留,完全取决于你重建表的具体操作方式:

  • 如果重建过程是:创建包含新增列的新表结构(保留Identity属性),然后将原表数据完整导入新表(比如使用SET IDENTITY_INSERT [新表名] ON后显式插入原Identity值,或者通过SELECT * INTO [新表名] FROM [原表名]直接复制数据和结构),那么原有Identity值会被完整保留。这也是你测试中出现的情况。

  • 如果重建时是先删除原表,重新创建表结构后,未显式指定Identity值就插入数据(且未开启IDENTITY_INSERT),那么数据库会自动从Identity的起始值开始重新分配数值,原有值就会丢失。

简单总结:只要在重建过程中把原表的Identity值完整迁移到新表,值就会保留;反之则会被重置。

内容的提问来源于stack exchange,提问作者J-V-D-A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:22:02