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 中打开 →

同一数据库的其他条目