Zoals joop uitlegde, is je SQL-bestand inconsistent.
Er is een externe sleutelbeperking van raffle.user_id
naar "user".id
, wat betekent dat voor elke waarde in raffle.user_id
er moet een rij zijn in "user"
waar id
heeft dezelfde waarde.
Nu is er geen rij ingevoegd in "user"
met een id
gelijk aan 1, maar het script probeert een rij in te voegen in raffle
met user_id
gelijk aan 1.
Dat schendt de externe sleutelbeperking en veroorzaakt een fout. Zodra er een fout is opgetreden in een PostgreSQL-transactie, is het enige wat u kunt doen ROLLBACK
. Totdat u dat doet, zullen alle verklaringen in de transactie mislukken met de fout die u opmerkt.
De enige oplossingen die u hebt, zijn ofwel de gegevens herstellen zodat ze consistent zijn of de consistentie opgeven door de beperking van de refererende sleutel te verwijderen.
Opmerking: het is een slecht idee om een gereserveerd SQL-sleutelwoord te kiezen, zoals USER
als naam.