2017-02-24 12 views
2

すでにデータが入っている既存のテーブルに新しい列を追加します。 列はNULLでない必要があります。 そのため、私はデフォルト値を設定します。私が行うときしかし、それは次の例外がスローされます。 「『の』不適切な構文近い」'for' SQL Serverの近くの構文が正しくありません

ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000' FOR SIDNew 

私はすでにHow to set a default value for an existing columnIncorrect syntax near the keyword 'FOR'を見ていたが、それらのどれも私を助けてくれません。

答えて

5

ただ部品FOR SIDNewを失う。既定の制約を持つ新しい列を追加しています。既存の列に新しいデフォルト制約を追加するわけではありません。

3

FORキーワードは、Azure SQLデータウェアハウスまたはパラレルデータウェアハウスにデフォルト値を追加する場合にのみ必要です。あなたは(オンプレミスまたはAzureの)通常のリレーショナルSQL Serverを使用しているなら、あなたはちょうど

ALTER TABLE Semester ADD SIDNew uniqueidentifier NOT NULL 
CONSTRAINT DF_SIDNew DEFAULT '00000000-0000-0000-0000-000000000000'; 

https://msdn.microsoft.com/en-gb/library/ms190273.aspx

FORせずにそれを書くことができます
関連する問題