DBAtlas · データベース運用アトラス

ORA-01400: cannot insert NULL into (column)(列に NULL は挿入できない)

Oracle

意味

NOT NULL 制約のある列に NULL 値が挿入または設定された。必須フィールドを空にすることはできない。

原因

INSERT で必須列に値が指定されていない、UPDATE で列を NULL に設定した、列に DEFAULT が定義されていない、または副クエリ/アプリケーションから空の値が渡された。

対処方法

エラーメッセージに示された列に有効な値を指定する。列に適切なデフォルトを定義する: ALTER TABLE my_table MODIFY (my_column DEFAULT 0); (DEFAULT は INSERT で列が完全に省略された場合にのみ適用される。明示的に送られた NULL 値には 12c 以降の DEFAULT ON NULL を使う: ALTER TABLE my_table MODIFY (my_column DEFAULT ON NULL 0);) ルールが本当に必須でなければ制約を削除する: ALTER TABLE my_table MODIFY (my_column NULL); 空の値は送信前にアプリケーションで検証する。

DBAtlas で開く →

同じデータベースの他の項目