joopが説明したように、SQLファイルに一貫性がありません。
raffle.user_id
からの外部キー制約があります "user".id
へ 、つまり、raffle.user_id
のすべての値に対して "user"
に行が必要です ここで、id
同じ値です。
これで、"user"
に行が挿入されなくなりました id
を使用 1に等しいが、スクリプトはraffle
に行を挿入しようとします user_id
を使用 1に等しい。
これは外部キー制約に違反し、エラーを引き起こします。 PostgreSQLトランザクションでエラーが発生した場合、実行できるのはROLLBACK
だけです。 。それを行うまで、トランザクション内のすべてのステートメントは、観察したエラーで失敗します。
唯一の解決策は、データの一貫性を保つようにデータを修正するか、外部キー制約を削除して一貫性を放棄することです。
備考: USER
のような予約済みのSQLキーワードを選択することはお勧めできません。 名前として。