ORA-01400: cannot insert NULL into (column) (no se puede insertar NULL en la columna)
Oracle¿Qué significa?
Se insertó o asignó un valor NULL en una columna con restricción NOT NULL. Un campo obligatorio no puede quedar vacío.
¿Por qué ocurre?
No se proporcionó valor para una columna obligatoria en un INSERT, un UPDATE que asigna NULL a la columna, no hay DEFAULT definido para la columna o un valor vacío procedente de una subconsulta/aplicación.
Cómo solucionarlo
Proporcione un valor válido para la columna indicada en el mensaje de error. Defina un valor predeterminado razonable para la columna: ALTER TABLE my_table MODIFY (my_column DEFAULT 0); (DEFAULT solo se aplica cuando la columna se omite por completo en el INSERT; para valores NULL enviados explícitamente use DEFAULT ON NULL de 12c+: ALTER TABLE my_table MODIFY (my_column DEFAULT ON NULL 0);) Si la regla no es realmente obligatoria, elimine la restricción: ALTER TABLE my_table MODIFY (my_column NULL); Valide los valores vacíos en la aplicación antes de enviarlos.
Más entradas de este motor
- library cache lockEspera: contención en el handle de un objeto del library cache (serialización de parse/DDL)
- ORA-00604error occurred at recursive SQL level (error en el nivel de SQL recursivo)
- ORA-01438value larger than specified precision allowed for this column (valor mayor que la precisión permitida para la columna)
- ORA-02291integrity constraint violated - parent key not found (violación de integridad: clave padre no encontrada)
- ORA-02292integrity constraint violated - child record found (violación de integridad: se encontró un registro hijo)
- ORA-00979not a GROUP BY expression (no es una expresión GROUP BY)
- ORA-00918column ambiguously defined (columna definida de forma ambigua)