我想在表PerformanceData中添加一个新列“CreatedBy”。我希望这个新列是不可空的,我希望现有的NULL填充为“NA”。这就是我现在这样做的方式。我们有更好的方法吗?
ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NOT NULL
CONSTRAINT DF1 DEFAULT('NA')
ALTER TABLE PerformanceData DROP CONSTRAINT DF1
我创建了一个DEFAULT约束并稍后删除它,因为我不希望将来默认插入值。
答案 0 :(得分:4)
对我来说很好看。如果您想要其他方式,可以分三步完成:
ALTER TABLE PerformanceData ADD CreatedBy VARCHAR(50) NULL
UPDATE PerformanceData SET CreatedBy = 'NA'
ALTER TABLE PerformanceData ALTER COLUMN CreatedBy VARCHAR(50) NOT NULL
答案 1 :(得分:1)
我会按照默认约束的两个步骤按照你的方式进行。