SQL Serverデータベースに既存の列があります。考えられることはすべて試しましたが、列に追加するデフォルト値を取得できません。他のすべてのデータベースで機能するのは
alter table mytable
alter column mycolumn set default(now()) --mycolumn is a datetime
SQL Serverでこれを行うにはどうすればよいですか?
その正確な構文で得られるエラーはincorrect syntax near the keyword 'set'
使用する:
ALTER TABLE dbo.mytable
ADD CONSTRAINT def_mycolumn DEFAULT GETDATE() FOR mycolumn
詳細については、以下を参照してください。 デフォルトの制約の使用
既存の列のデフォルト値を変更する場合。以下のように、最初に制約を削除してから、もう一度制約を追加する必要があります
ALTER TABLE <TABLE>
DROP CONSTRAINT <CONSTRAINT NAME>
ALTER TABLE <TABLE>
ADD CONSTRAINT <CONSTRAINT NAME> DEFAULT <VALUE> for <COLUMN>
テーブルの制約の詳細がない場合は、次のクエリを使用できます
sp_helpconstraint <TABLE>