n1ro°
RU

Ошибки · Решение

Oracle ORA-01400: cannot insert NULL

INSERT формирует строку без обязательного значения или явно передаёт NULL.

Редакция N1RO · Проверено

Короткий ответ

ORA-01400 означает попытку записать NULL в объект/колонку, где NULL не допускается. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

INSERT формирует строку без обязательного значения или явно передаёт NULL.

Возможные причины

  • Приложение не заполнило NOT NULL поле.
  • Маппинг ORM потерял значение до INSERT.
  • Миграция сделала колонку обязательной, но старая ветка приложения не знает об этом.

Что проверить

  • Возьмите имя колонки из текста ORA-01400.
  • Проверьте bind-параметр для этой колонки прямо перед execute.
  • Сверьте текущую схему с версией приложения и миграциями.

Безопасные шаги

  1. Передавайте корректное ненулевое значение.
  2. Если значение должно генерироваться БД, настройте DEFAULT/identity/trigger осознанно.
  3. Меняйте nullability только после подтверждения модели данных и влияния на существующие строки.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если ORA-01400 появился после релиза, сравните deployed schema migration и версию приложения на всех инстансах.

Похожие ошибки

  • /errors/oracle-ora-00001/
  • /errors/oracle-ora-00054/
  • /errors/oracle-ora-00904/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.