Như joop đã giải thích, tệp SQL của bạn không nhất quán.
Có một ràng buộc khóa ngoại từ raffle.user_id
thành "user".id
, có nghĩa là đối với mọi giá trị trong raffle.user_id
phải có một hàng trong "user"
ở đâu id
có cùng giá trị.
Bây giờ không có hàng nào được chèn vào "user"
với một id
bằng 1, nhưng tập lệnh cố gắng chèn một hàng trong raffle
với user_id
bằng 1.
Điều đó vi phạm ràng buộc khóa ngoại và gây ra lỗi. Khi đã xảy ra lỗi trong giao dịch PostgreSQL, tất cả những gì bạn có thể làm là ROLLBACK
. Cho đến khi bạn làm điều đó, tất cả các câu lệnh trong giao dịch sẽ không thành công với lỗi bạn quan sát thấy.
Các giải pháp duy nhất bạn có là sửa dữ liệu để chúng nhất quán hoặc loại bỏ tính nhất quán bằng cách loại bỏ ràng buộc khóa ngoại.
Ghi chú: Bạn nên chọn một từ khóa SQL dành riêng như USER
như tên.