2009-03-03 112 views
3

我目前正在对数据模型进行一些更改,其中包括更改列(恰好是主键的一部分),以便它不再是标识。有没有办法做到这一点,实际上是删除和重新创建整个列或表? SSMS自动生成的代码就是这样做的,但我想知道是否有更简单的解决方案。如何完全删除标识

回答

4

您不能删除列的标识属性而不删除它。

可能的解决方法的步骤是:

的(a)添加新的列

(b)中更新与标识列值

(c)中删除标识列的列。

Alter Table Tablename Add newColumnname int 

Update Table set newColumnname =IdentityColumn 

Alter Table TableName Drop IdentityColumnName 

注意:如果你在谈论关闭身份属性暂时,检查设置IDENTITY_INSERT表名ON命令

有意义吗?

干杯,约翰

+0

这似乎相当于我通过谷歌发现的。由于这不是一个临时更改IDENTITY_INSERT不帮助我。 – Mykroft 2009-03-03 21:47:51