2009-09-01 109 views

回答

3

您不能更改默认的 - 你需要先删除它,然后重新创建它。

才能删除它,你需要知道它的名字,然后用

ALTER TABLE dbo.Product 
    DROP CONSTRAINT yourOldDefaultConstraint 

一旦你做到了这一点,你可以添加一个新的默认约束,为了将它应用到现有的行,请使用“使用值”部分:

ALTER TABLE dbo.Product 
    ADD CONSTRAINT NewDefaultConstraintName 
    DEFAULT GetDate() FOR CreateTime WITH VALUES 

哎呀 - 对不起,在“使用值”似乎只如果您创建在创建表时DEFAULT约束工作,或者如果您添加列 - 它似乎并没有得到应用到现有列。

在这种情况下,您只需要按照你的ALTER TABLE语句是这样的:

UPDATE dbo.T_Product 
SET CreateTime = GETDATE() 
WHERE CreateTime IS NULL 

这应该做的伎俩,太!

Marc

+0

非常感谢。 – Mike108 2009-09-01 04:47:23

相关问题