Wie joop erklärt hat, ist Ihre SQL-Datei inkonsistent.
Es gibt eine Fremdschlüsseleinschränkung von raffle.user_id
zu "user".id
, was bedeutet, dass für jeden Wert in raffle.user_id
"user"
muss eine Zeile enthalten wobei id
hat denselben Wert.
Jetzt ist keine Zeile in "user"
eingefügt mit einer id
gleich 1, aber das Skript versucht, eine Zeile in raffle
einzufügen mit user_id
gleich 1.
Das verletzt die Fremdschlüsseleinschränkung und verursacht einen Fehler. Sobald in einer PostgreSQL-Transaktion ein Fehler aufgetreten ist, können Sie nur ROLLBACK
tun . Bis Sie dies tun, schlagen alle Anweisungen in der Transaktion mit dem von Ihnen beobachteten Fehler fehl.
Die einzigen Lösungen, die Sie haben, sind entweder die Daten so zu korrigieren, dass sie konsistent sind, oder die Konsistenz aufzugeben, indem Sie die Fremdschlüsselbeschränkung entfernen.
Anmerkung: Es ist keine gute Idee, ein reserviertes SQL-Schlüsselwort wie USER
zu wählen als Name.