删除并重新创建约束

时间:2016-04-20 09:45:57

标签: sql sql-server

如何删除并重新创建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吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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