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); Проверяйте пустые значения в приложении перед отправкой.
Ещё по этой СУБД
- library cache lockОжидание: конкуренция за дескриптор объекта library cache (сериализация parse/DDL)
- ORA-00604Ошибка на уровне рекурсивного SQL
- ORA-01438Значение превышает точность, допустимую для этого столбца
- ORA-02291Нарушено ограничение целостности — родительский ключ не найден
- ORA-02292Нарушено ограничение целостности — найдена дочерняя запись
- ORA-00979Выражение не входит в GROUP BY (not a GROUP BY expression)
- ORA-00918Столбец определён неоднозначно