以下のように表示されます。
- (エラー)
- 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 '***' |