2011-09-30 254 views

回答

8

使用ALTER TABLE table_name ALTER COLUMN column_name datatype [NOT] NULL

例子:

CREATE TABLE #Foo 
(
X INT NULL, 
Y INT NOT NULL 
) 

/*This is metadata only change and very quick*/ 
ALTER TABLE #Foo ALTER COLUMN Y INT NULL 

/*This requires all rows to be scanned to validate the data*/ 
ALTER TABLE #Foo ALTER COLUMN X INT NOT NULL 
+0

如果之前存在於表中的數據。 – Shine

+0

要使列允許NULL,則不會有任何區別。如果使用'NOT NULL',那麼需要'更新'任何'NULL'的值或'ALTER TABLE'將失敗 –