2013-03-06 48 views
0

我需要從表中刪除現有PK並在新列中創建新的。因爲新PK的列後來添加(在創建表之後) - 我們對舊行有空值。我應該使用UPDATE語句還是在「ADD CONSTRAINT」子句中有一些自動確定NULL併爲其生成GUID的選項?現有數據的主鍵

感謝您的幫助。

回答

1

這就是你必須要做的。

UPDATE TABLE1 
SET GUID = NEWID() 
WHERE GUID IS NULL 

我們添加一個新的contstraint,你將有TOD elete舊的。你可以這樣做:

ALTER TABLE TABLE1 
DROP CONSTRAINT PrimaryKeyName 

ALTER TABLE TABLE1 
ADD CONSTRAINT PrimaryKeyName PRIMARY KEY (GUID)