2010-06-17 105 views
31

我在我的SQL Server數據庫中有一個現有的列。我試過了我能想到的所有內容,但無法將默認值添加到列中。什麼適用於其他數據庫是如何將默認值添加到已存在的列中?

alter table mytable 
    alter column mycolumn set default(now()) --mycolumn is a datetime 

如何在SQL Server中執行此操作?

我得到的,準確的語法錯誤是incorrect syntax near the keyword 'set'

回答

63

用途:

ALTER TABLE dbo.mytable 
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn 

欲瞭解更多信息,請參見:Working with Default Constraints

+1

添加了'爲'位爲你.. – Earlz 2010-06-17 00:18:34

+0

@Earlz:看到,最欣賞:) – 2010-06-17 00:19:38

+0

現在只需要再等3分鐘... – Earlz 2010-06-17 00:22:13

6

如果你想改變一個已經存在的默認值柱。您需要先刪除約束,然後一遍如下

ALTER TABLE <TABLE> 
DROP CONSTRAINT <CONSTRAINT NAME> 

ALTER TABLE <TABLE> 
ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN> 

添加如果你不具有表的約束細節的約束,你可以使用下面的查詢

sp_helpconstraint <TABLE> 
相關問題