【发布时间】:2014-08-26 22:00:43
【问题描述】:
如何使用 sql 查询删除现有表 IDENTITY 字段。 我已经尝试过类似的查询
SET IDENTITY_INSERT Database.tableName OF
【问题讨论】:
标签: sql sql-server-2012
如何使用 sql 查询删除现有表 IDENTITY 字段。 我已经尝试过类似的查询
SET IDENTITY_INSERT Database.tableName OF
【问题讨论】:
标签: sql sql-server-2012
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 复制这些值。
【讨论】: