2014-11-21 164 views
0

我有一個現有的表MCheckTypes,它有一個主鍵列ID。我想要做的就是改變表格以在主鍵上添加標識類型。我不想放棄一張桌子並重新創建一張桌子。我已經谷歌它,但沒有運氣。下面是我的腳本SQL Server 2008:ALTER IDENTITY TYPE

ALTER TABLE MCheckTypes 
    ALTER COLUMN [ID] INT IDENTITY(1, 1) NOT NULL 
以下

是錯誤消息

消息156,級別15,狀態1,行1個
附近有語法錯誤關鍵字 '身份'。

+0

是您現有的ID列是沒有身份只是主鍵? – Dhwani 2014-11-21 06:53:52

+0

是的,絕對地,ID列是存在的,它是Raj的主鍵 – Bryan 2014-11-21 06:57:25

+0

,我已經看到那個鏈接,當我谷歌它。但答案不起作用。這個形象就是我的情況 - 我想改變身份類型。 – Bryan 2014-11-21 06:59:48

回答

1

你不能「轉化」的現有列IDENTITY列 - 你必須創建一個新的列INT IDENTITY:

ALTER TABLE MCheckTypes 
ADD NewID INT IDENTITY (1, 1) NOT NULL; 
+0

所以很煩人,所以我需要刪除現有的列,並重新創建一個新的?爲什麼SQL有這種限制? – Bryan 2014-11-21 07:04:32

+0

@布賴恩號,你可以保持最新的一個。一旦你創建了newid列,你可以刪除舊列並重新命名爲ID ID。但所有的引用都將丟失,這是基於舊的ID。 – Dhwani 2014-11-21 07:04:55

+0

但我想要相同的字段名稱,所以我不需要調整我的應用程序代碼。是否有可能在一個表上具有相同的字段名稱? – Bryan 2014-11-21 07:06:30