2016-04-20 106 views
0

如何刪除並重新IX_DimCountry約束刪除並重新創建約束

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] 

,也是有辦法只是改變標識不因身份了嗎?

+0

的可能的複製[如何改變約束(http://stackoverflow.com/questions/13244889/how-to-alter-constraint) – CiucaS

+0

請參閱這篇文章:如何去掉自動增量從表在SQL Server 2012](http://stackoverflow.com/questions/23511309/how-to-remove-auto-increment-from-table-in-sql-server-2012) –

回答

1

如果需要保存數據,但刪除IDENTITY列,你將需要:

創建一個新列 轉移從現有的IDENTITY列的數據到新列 除去現有IDENTITY列。 將新列重命名爲原列名稱

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