如何删除sql server 2012中的标识列?

时间:2014-08-26 13:19:10

标签: sql sql-server-2012

如何使用sql查询删除现有的表IDENTITY字段。  我已经尝试了像

这样的查询
SET IDENTITY_INSERT Database.tableName OF

1 个答案:

答案 0 :(得分:1)

SET IDENTITY_INSERT允许您将值显式插入标识列,而不是让它自动分配(请参阅http://msdn.microsoft.com/en-us/library/ms188059.aspx)。

据我所知,您不能删除标识列的标识功能;我能想到的唯一解决方案是完全删除列:

ALTER TABLE myTable
DROP COLUMN identityColumn

如果出于某种原因,您只想暂时“关闭”身份功能,并且您的表格不是太大,您只需将标识列复制到新列中即可:

ALTER TABLE myTable
ADD identityCopy int

UPDATE myTable
SET identityCopy = identityColumn

...然后删除标识列。当然,您可以重新添加新的标识列,并使用IDENTITY_INSERT复制值,如果/想要将其添加回来。