创建不可为空的列,但使用某些给定值填充现有的NULL

问题描述

|| 我想向表PerformanceData中添加新列\“ CreatedBy \”。我希望此新列不可为空,并且我希望将现有的NULL填充为\'NA \'。这就是我现在正在做的事情。我们有更好的方法吗?
ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NOT NULL 
CONSTRAINT DF1 DEFAULT(\'NA\')   

ALTER TABLE PerformanceData DROP CONSTRAINT DF1
我创建了DEFAULT约束并将其删除,因为我不希望将来认插入值。     

解决方法

对我来说很好如果您想要另一种方法,则可以分三个步骤进行:
ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NULL 

UPDATE PerformanceData SET CreatedBy = \'NA\'

ALTER TABLE PerformanceData ALTER COLUMN CreatedBy VARCHAR(50) NOT NULL
    ,我会按照默认约束分2个步骤进行操作。