现有数据的主键

时间:2013-03-06 11:04:32

标签: sql-server unique-constraint

我需要从表中删除现有的PK并在新列中创建新的。因为稍后添加了新PK的列(在创建表之后) - 我们对旧行有空值。我应该使用UPDATE语句还是“ADD CONSTRAINT”子句中有一些选项可以自动确定NULL并为它们生成GUID?

感谢您的帮助。

1 个答案:

答案 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)