我需要从表中删除现有的PK并在新列中创建新的。因为稍后添加了新PK的列(在创建表之后) - 我们对旧行有空值。我应该使用UPDATE语句还是“ADD CONSTRAINT”子句中有一些选项可以自动确定NULL并为它们生成GUID?
感谢您的帮助。
答案 0 :(得分:1)
这是你必须要做的。
UPDATE TABLE1
SET GUID = NEWID()
WHERE GUID IS NULL
现在要添加一个新的约束,你将得到旧的约束。这就是你如何做到的:
ALTER TABLE TABLE1
DROP CONSTRAINT PrimaryKeyName
ALTER TABLE TABLE1
ADD CONSTRAINT PrimaryKeyName PRIMARY KEY (GUID)