DBAtlas · Atlas d'exploitation des bases de données

ORA-01400: cannot insert NULL into (column) (insertion de NULL impossible dans la colonne)

Oracle

Que signifie cette erreur ?

Une valeur NULL a été insérée dans une colonne soumise à une contrainte NOT NULL, ou affectée à celle-ci. Un champ obligatoire ne peut pas rester vide.

Cause

Aucune valeur fournie pour une colonne obligatoire dans un INSERT, UPDATE mettant la colonne à NULL, aucun DEFAULT défini pour la colonne, ou valeur vide provenant d'une sous-requête/de l'application.

Comment la corriger

Fournissez une valeur valide pour la colonne indiquée dans le message d'erreur. Définissez une valeur par défaut pertinente pour la colonne : ALTER TABLE my_table MODIFY (my_column DEFAULT 0); (DEFAULT ne s'applique que lorsque la colonne est entièrement omise de l'INSERT ; pour les valeurs NULL envoyées explicitement, utilisez DEFAULT ON NULL en 12c+ : ALTER TABLE my_table MODIFY (my_column DEFAULT ON NULL 0);) Si la règle n'est pas réellement obligatoire, supprimez la contrainte : ALTER TABLE my_table MODIFY (my_column NULL); Validez les valeurs vides dans l'application avant de les envoyer.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur