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

Làm thế nào để nâng cấp trong Postgres về xung đột trên một trong 2 cột?

Có, và hành vi này là mặc định. Bất kỳ vi phạm ràng buộc duy nhất nào cũng tạo thành xung đột và sau đó là UPDATE được thực hiện nếu ON CONFLICT DO UPDATE được quy định. INSERT câu lệnh chỉ có thể có một ON CONFLICT duy nhất , nhưng conflict_target của mệnh đề đó có thể chỉ định nhiều tên cột, mỗi tên phải có chỉ mục, chẳng hạn như UNIQUE hạn chế. Tuy nhiên, bạn bị giới hạn trong một conflict_action và bạn sẽ không có thông tin về ràng buộc nào đã gây ra xung đột khi xử lý hành động đó. Nếu bạn cần loại thông tin đó hoặc hành động cụ thể tùy thuộc vào vi phạm ràng buộc, bạn nên viết một hàm kích hoạt nhưng sau đó bạn mất tính nguyên tử quan trọng của INSERT ... ON CONFLICT DO ... tuyên bố.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. python json kết xuất đưa đối tượng vào đối tượng trên row_to_json return

  2. Hành vi KHÔNG THÍCH với giá trị NULL

  3. CHỌN hoặc CHÈN trong một hàm có khuynh hướng gặp phải các điều kiện về chủng tộc không?

  4. Làm thế nào để tạo tệp vĩnh viễn trên Heroku?

  5. postgres - so sánh hai mảng