ORA-01400: cannot insert NULL into (column) (NULL kann nicht in die Spalte eingefügt werden)
OracleWas bedeutet das?
In eine Spalte mit NOT-NULL-Constraint wurde ein NULL-Wert eingefügt oder gesetzt. Ein Pflichtfeld darf nicht leer bleiben.
Ursache
Kein Wert für eine Pflichtspalte in einem INSERT, ein UPDATE, das die Spalte auf NULL setzt, kein DEFAULT für die Spalte definiert oder ein leerer Wert aus einer Unterabfrage/der Anwendung.
Lösung
Liefere einen gültigen Wert für die in der Fehlermeldung genannte Spalte. Definiere einen sinnvollen Standardwert für die Spalte: ALTER TABLE my_table MODIFY (my_column DEFAULT 0); (DEFAULT greift nur, wenn die Spalte im INSERT ganz weggelassen wird; für explizit gesendete NULL-Werte verwende ab 12c DEFAULT ON NULL: ALTER TABLE my_table MODIFY (my_column DEFAULT ON NULL 0);) Ist die Regel nicht wirklich zwingend, entferne den Constraint: ALTER TABLE my_table MODIFY (my_column NULL); Prüfe leere Werte in der Anwendung, bevor du sie sendest.
Weitere Einträge zu dieser Datenbank
- library cache lockWait: Konkurrenz um ein Library-Cache-Objekthandle (Parse-/DDL-Serialisierung)
- ORA-00604error occurred at recursive SQL level (Fehler auf rekursiver SQL-Ebene)
- ORA-01438value larger than specified precision allowed for this column (Wert größer als die für die Spalte erlaubte Precision)
- ORA-02291integrity constraint violated - parent key not found (Integritäts-Constraint verletzt: Elternschlüssel nicht gefunden)
- ORA-02292integrity constraint violated - child record found (Integritäts-Constraint verletzt: Kinddatensatz gefunden)
- ORA-00979not a GROUP BY expression (kein GROUP-BY-Ausdruck)
- ORA-00918column ambiguously defined (Spalte mehrdeutig definiert)