以下のように表示されます。
(日本語)
ORA-01449: 列はNULL値を含んでいます。NOT NULLに変更できません
(英語)
ORA-01449: column contains NULL values; cannot alter to NOT NULL
発生パターン
このエラーは以下のような場合に発生します。
- 主キーに設定しようとしたカラムにnull値の項目が存在する
- エラー例
- SQL> ALTER TABLE tbl01 ADD CONSTRAINT pk_tbl01 PRIMARY KEY(col1); ALTER TABLE tbl01 ADD CONSTRAINT pk_tbl01 PRIMARY KEY(col1) * 行1でエラーが発生しました。: ORA-01449: 列はNULL値を含んでいます。NOT NULLに変更できません
tbl01テーブルのcol1列にnull値が存在している前提です。
対処法
- 主キーはNULL値を許可しないため、主キーに設定する列の値は事前に全てNULL値がない状態にしておく必要があります。
- 上記エラー例の場合、col1列にあるnull値を無くしてからALTER TABLEを実行すればOKです。