Como explicó joop, su archivo SQL es inconsistente.
Hay una restricción de clave externa de raffle.user_id
a "user".id
, lo que significa que para cada valor en raffle.user_id
debe haber una fila en "user"
donde id
tiene el mismo valor.
Ahora no hay ninguna fila insertada en "user"
con un id
igual a 1, pero el script intenta insertar una fila en raffle
con user_id
igual a 1.
Eso viola la restricción de clave externa y provoca un error. Una vez que ha habido un error en una transacción de PostgreSQL, todo lo que puede hacer es ROLLBACK
. Hasta que lo haga, todas las declaraciones en la transacción fallarán con el error que observa.
Las únicas soluciones que tiene son corregir los datos para que sean coherentes o renunciar a la coherencia eliminando la restricción de clave externa.
Observación: es una mala idea elegir una palabra clave SQL reservada como USER
como nombre.