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

Lỗi cú pháp trong mã kiểm tra UPSERT

Vì đây là kết quả hàng đầu của Google về lỗi:

ON CONFLICT DO UPDATE command cannot affect row a second time

Tôi sẽ nói thêm rằng Có thể do GIÁ TRỊ xung đột trùng lặp , ví dụ:

INSERT INTO distributors (did, dname)
VALUES 
    (5, 'Gizmo Transglobal'), 
    (5, 'Associated Computing, Inc')
ON CONFLICT (did) DO UPDATE SET dname = EXCLUDED.dname;

Trong trường hợp này, chúng tôi cố gắng chèn hai giá trị bằng dim đặt thành 5 . Dưới dạng dim là chỉ mục mà nó không thể có xung đột trong chính truy vấn.

Tôi đã gặp lỗi này khi triển khai các yêu cầu xử lý và dịch vụ vi mô, một số yêu cầu trong số đó có bản ghi trùng lặp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. khóa chính có được tự động lập chỉ mục trong postgresql không?

  2. Truy vấn nhanh để thực hiện chuẩn hóa dữ liệu SQL

  3. Kết xuất và khôi phục PostgreSQL ở múi giờ khác nhau

  4. JDBC chèn mảng thực

  5. Rails 3 bỏ qua ngoại lệ ràng buộc duy nhất của Postgres