[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
質問
の既存のテーブルに、デフォルト値を持つカラムを追加するにはどうすればよいですか? SQL Server 2000 / SQL Server 2005 ?
解決方法は?
シンタックス
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
例
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
注意事項
オプションの制約条件名。
を省略した場合
CONSTRAINT D_SomeTable_SomeCol
を使用すると、SQL Server は自動生成します。
のようなおかしな名前の Default-Contraint を作成します。
DF__SomeTa__SomeC__4FB7FEF6
オプションのWith-Valuesステートメント。
は
WITH VALUES
は、カラムが Nullable の場合のみ必要です。
で、既存のレコードにデフォルト値を使用したい場合。
カラムが
NOT NULL
の場合、自動的にデフォルト値が使用されます。
を指定した場合でも、すべての既存レコードに対して
WITH VALUES
を指定します。
Default-ConstraintでInsertがどのように機能するか。
にレコードを挿入した場合
SomeTable
を実行し
ない
指定する
SomeCol
の値である場合、それはDefaultになります。
0
.
レコードを挿入した場合
と
指定する
SomeCol
の値を
NULL
(そして、あなたのカラムはヌルを許します)。
とすると、デフォルト制約が
ではない
使用され
NULL
がValueとして挿入されます。
メモは、以下の皆さんからの素晴らしいフィードバックに基づいています。
Special Thanks to:
Yatrixさん、WalterStaboszさん、YahooSeriousさん、StackManさんにコメントをいただきました。
関連
-
[解決済み] "このSqlTransactionは完了しました。もう使用できません。"...設定エラー?
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] カラムの変更:NULLをNOT NULLに変更する
-
[解決済み] SQL Server にテーブルが存在するかどうかを確認する
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] カラム名の変更 SQL Server 2008
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] 既存のカラムにデフォルト値を設定する方法
-
[解決済み】SQL Serverでdatetimeフィールドのデフォルト値をタイムスタンプに追加する