【问题标题】:How to drop the identity column in sql server 2012? [duplicate]如何删除 sql server 2012 中的标识列? [复制]
【发布时间】:2014-08-26 22:00:43
【问题描述】:

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

SET IDENTITY_INSERT Database.tableName OF

【问题讨论】:

标签: sql sql-server-2012


【解决方案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 复制这些值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 2014-09-23
    • 2023-03-25
    • 1970-01-01
    • 2010-09-18
    • 2014-08-24
    • 1970-01-01
    • 2015-12-25
    相关资源
    最近更新 更多