【问题标题】:Drop and recreate constraint删除并重新创建约束
【发布时间】:2016-04-20 09:45:57
【问题描述】:

如何删除和重新创建 IX_DimCountry CONSTRAINT

CREATE TABLE [WarehouseMgmt].[DimCountry] (
    [Id]           INT            IDENTITY (1, 1) NOT NULL,
    CONSTRAINT [IX_DimCountry] UNIQUE NONCLUSTERED ([Id] ASC) ON [PRIMARY]

并且拥有这个

CREATE TABLE [WarehouseMgmt].[DimCountry] (
    [Id]           INT            NOT NULL,
    CONSTRAINT [IX_DimCountry] UNIQUE NONCLUSTERED ([Id] ASC) ON [WH_IX]

还有没有办法将 Id 更改为不再是 IDENTITY?

【问题讨论】:

标签: sql sql-server


【解决方案1】:

如果您需要保留数据,但删除 IDENTITY 列,您需要:

创建一个新列 将数据从现有 IDENTITY 列转移到新列 删除现有的 IDENTITY 列。 将新列重命名为原始列名

【讨论】:

    【解决方案2】:
    ALTER TABLE [WarehouseMgmt].[DimCountry] DROP CONSTRAINT IX_DimCountry;
    
    
    ALTER TABLE [WarehouseMgmt].[DimCountry]
    ADD CONSTRAINT IX_DimCountry UNIQUE(id)
    

    您不能删除 IDENTITY。

    Remove Identity from a column in a table

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多