以下のように表示されます。
- (エラー)
- 4901「ALTER TABLEでは、NULLを許可する列または DEFAULT 定義が指定されている列しか追加できません。」
原因
- テーブルに列を追加する時にNOT NULL制約を指定した
エラー例
1 |
ALTER TABLE test_table ADD col1 nchar(10) not null |
追加する列を、NOT NULLとしているためエラーになっています。
対処法
- 列追加時は、NULL許可列として定義する
- 列追加時は、NOT NULL列にする場合はDEFAULT値も同時に指定する
OK例
1 2 3 4 5 |
-- NULL許可列とする ALTER TABLE test_table ADD col1 nchar(10) null -- NOTNULL列と同時にDEFAULT値も定義する ALTER TABLE test_table ADD col1 nchar(10) not null default '***' |