PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL:một số rắc rối khi chèn từ lựa chọn khi xung đột

Tôi nghĩ rằng có một sự hiểu lầm. Ràng buộc duy nhất trên hai cột không có nghĩa là mỗi cột là duy nhất, mà là sự kết hợp trong số hai cột là duy nhất.

Vì vậy, must_be_different của bạn khác (và yếu hơn) so với các ràng buộc duy nhất trên prompt_input_valuecollect_project_id . Ví dụ:nếu bạn có ba hàng

 collect_project_id | prompt_input_value
--------------------+--------------------
                  1 | a
                  1 | b
                  2 | b

chúng sẽ tạo ra xung đột với cả ràng buộc duy nhất một cột, nhưng cũng không với must_be_different .

Tôi đoán rằng vấn đề cơ bản là bạn muốn sử dụng INSERT ... ON CONFLICT với nhiều ràng buộc duy nhất. Điều đó không thể được thực hiện; xem câu hỏi này để thảo luận và đưa ra các giải pháp tiềm năng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSql:Json Array to Rows bằng cách sử dụng liên kết bên

  2. Postgres, Truy vấn đơn giản không sử dụng chỉ mục

  3. 2 cách trả về hàng chỉ chứa ký tự chữ và số trong PostgreSQL

  4. Không thể cài đặt PG gem trên máy Mac của tôi với Mavericks

  5. Persistence.createEntityManagerFactory () mất rất nhiều thời gian để trả về