【发布时间】:2013-10-25 08:05:28
【问题描述】:
我在 SQL Server 中有一个包含记录包的表。我想将作为主键的 ID 列转换为标识列而不会丢失数据。我想到了以下两种方法:
- 创建具有标识的新表并删除现有表。
- 创建具有标识的新列并删除现有列。
但很明显,它们无法实施,因为保存记录是我的首要任务。
还有其他方法吗?
【问题讨论】:
-
重复,但我也提到了限制
-
你的ID列是否已经作为外键与其他表连接?
-
我看不出保存记录对于两种方法中的任何一种来说是个问题。没有其他选择。您只需创建一些新的东西,如果您想保留已有的 ID - 这是一个新表。
-
@NenadZivkovic,因为提问者标记了 Sql Server 2012,所以还有一个替代方案。 steoleary 的回答会做到——在这种情况下,我自己也使用过同样的解决方案。
标签: sql sql-server tsql sql-server-2012