DBAtlas · Атлас эксплуатации баз данных

ORA-01400: Невозможно вставить NULL в (столбец)

Oracle

Что это значит?

В столбец с ограничением NOT NULL вставлено или присвоено значение NULL. Обязательное поле не может оставаться пустым.

Почему возникает?

Не передано значение для обязательного столбца в INSERT, UPDATE присваивает столбцу NULL, для столбца не определён DEFAULT или пустое значение пришло из подзапроса/приложения.

Как исправить

Передайте допустимое значение для столбца, указанного в сообщении об ошибке. Определите для столбца разумное значение по умолчанию: ALTER TABLE my_table MODIFY (my_column DEFAULT 0); (DEFAULT применяется, только если столбец полностью опущен в INSERT; для явно переданных значений NULL используйте DEFAULT ON NULL из 12c+: ALTER TABLE my_table MODIFY (my_column DEFAULT ON NULL 0);) Если правило на самом деле не обязательное, снимите ограничение: ALTER TABLE my_table MODIFY (my_column NULL); Проверяйте пустые значения в приложении перед отправкой.

Открыть в DBAtlas →

Ещё по этой СУБД