Comme joop l'a expliqué, votre fichier SQL est incohérent.
Il existe une contrainte de clé étrangère de raffle.user_id
à "user".id
, ce qui signifie que pour chaque valeur dans raffle.user_id
il doit y avoir une ligne dans "user"
où id
a la même valeur.
Maintenant, il n'y a plus de ligne insérée dans "user"
avec un id
égal à 1, mais le script tente d'insérer une ligne dans raffle
avec user_id
égal à 1.
Cela viole la contrainte de clé étrangère et provoque une erreur. Une fois qu'il y a eu une erreur dans une transaction PostgreSQL, tout ce que vous pouvez faire est ROLLBACK
. Jusqu'à ce que vous le fassiez, toutes les instructions de la transaction échoueront avec l'erreur que vous observez.
Les seules solutions que vous avez sont soit de corriger les données afin qu'elles soient cohérentes, soit de renoncer à la cohérence en supprimant la contrainte de clé étrangère.
Remarque : c'est une mauvaise idée de choisir un mot-clé SQL réservé comme USER
comme nom.