23503: foreign_key_violation
PostgreSQLQue signifie cette erreur ?
Une contrainte FOREIGN KEY a été violée. La ligne parente référencée par la ligne insérée/mise à jour n'existe pas, ou la ligne parente supprimée possède encore des lignes enfants dépendantes.
Cause
INSERT/UPDATE référençant une clé parente inexistante, tentative de suppression/mise à jour d'une ligne parente encore référencée, ou données chargées dans le mauvais ordre (enfant d'abord, puis parent).
Comment la corriger
Insérez d'abord la ligne parente, puis la ligne enfant. Si un comportement en cascade est nécessaire à la suppression, définissez la contrainte avec ON DELETE CASCADE ou ON DELETE SET NULL. Lors des chargements en masse, chargez les données dans l'ordre parent-enfant. Trouvez les lignes qui référencent : SELECT * FROM child WHERE fk_column = value.