2009-09-01 76 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

相關問題