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

23514: check_violation

PostgreSQL

Que signifie cette erreur ?

Une contrainte CHECK a été violée. La ligne insérée ou mise à jour ne satisfait pas une condition logique définie sur la table (par ex. price > 0).

Cause

Données enfreignant une règle métier (prix négatif, code de statut invalide, violation de plage de dates) ; absence de validation côté application ; contrainte trop stricte pour les données ; enregistrements enfreignant la règle lors d'un chargement en masse.

Comment la corriger

Utilisez le nom de la contrainte dans le message d'erreur pour savoir quelle condition a été violée ; affichez la définition : \d table_name. Interrogez les lignes fautives en inversant la condition. Corrigez les données ou, si la règle a réellement changé, mettez à jour la contrainte : ALTER TABLE my_table DROP CONSTRAINT name; ALTER TABLE my_table ADD CONSTRAINT name CHECK (new_condition);

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur