2017-07-06 31 views
1

我正在開發一個項目,其中一張桌子過去使用過Fox Pro。他們使用服務器端編程語言(ColdFusion)爲表中的每條記錄創建唯一的ID。使用SQL自動增量字段,我不需要這種技術,我想將我的密鑰列設置爲INT自動增量。我想知道什麼是最好的方式來修改我的表中的關鍵列?下面是我的示例表設計的:如何在SQL 2008表中將Column char(10)替換爲int auto_increment?

Column Name Data Type Allow Nulls 
im_key  char(10) No 

我不能簡單地改爲int類型,並設置自動遞增,因爲我目前的類型爲char。如果有人能幫助請讓我知道。謝謝。

回答

1

您可以添加一個新列im_key_ident,將其設置爲identity。重命名舊列:sp_rename 'table_name.im_key', 'im_key_old', 'COLUMN';。最後,您可以重新命名新列:sp_rename 'table_name.im_key_ident', 'im_key', 'COLUMN';。您可以選擇保留或丟棄舊列。

如果im_key列目前作爲主鍵,外鍵,在功能,程序或以任何其他方式,它會變得非常麻煩,非常快......