将现有的MS SQL表的列设置为NOT NULL

如何将MS SQL表的现有列设置为NOT NULL?

ALTER TABLE tablename ALTER COLUMN columnname datatype NOT NULL 

在做这件事之前,您显然必须确保列不包含任何NULL值。

例如

 ALTER TABLE orders ALTER COLUMN customer_id INT NOT NULL 

首先确保这些字段具有非空值。 在这种情况下,我正在使用一个GUID nvarchar的字段,所以我会这样做

 UPDATE tablename SET fieldname = Newid() WHERE fieldname IS NULL; 

正如亚当·拉尔夫所说的那样

 ALTER TABLE tablename ALTER COLUMN fieldname datatype NOT NULL 

您可能还想要将默认的约束添加到该列。