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

MySQL - bỏ qua lỗi chèn:mục nhập trùng lặp

Bạn có thể sử dụng CHÈN ... BỎ QUA cú pháp nếu bạn không muốn thực hiện hành động nào khi có một bản ghi trùng lặp.

Bạn có thể sử dụng THAY THẾ cú pháp nếu bạn muốn ghi đè bản ghi cũ bằng bản ghi mới có cùng khóa.

Hoặc, bạn có thể sử dụng CHÈN ... TRÊN DUPLICATE CẬP NHẬT CHÍNH nếu bạn muốn thực hiện cập nhật bản ghi thay thế khi bạn gặp bản sao.

Chỉnh sửa:Tôi nghĩ rằng tôi sẽ thêm một số ví dụ.

Ví dụ

Giả sử bạn có một bảng có tên tbl với hai cột, id và giá trị value . Có một mục nhập, id =1 và value =1. Nếu bạn chạy các câu lệnh sau:

REPLACE INTO tbl VALUES(1,50);

Bạn vẫn có một bản ghi, với id =1 value =50. Lưu ý rằng trước tiên toàn bộ bản ghi đã bị XÓA, sau đó được chèn lại. Sau đó:

INSERT IGNORE INTO tbl VALUES (1,10);

Hoạt động thực thi thành công, nhưng không có gì được chèn vào. Bạn vẫn có id =1 và value =50. Cuối cùng:

INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;

Bây giờ bạn có một bản ghi duy nhất với id =1 và value =200.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tốt nhất để lưu trữ MySQL trên Azure Cloud

  2. Hiển thị (Danh sách) Cơ sở dữ liệu MySQL trên Linux qua Dòng lệnh

  3. Trong SQL / MySQL, sự khác biệt giữa ON và WHERE trong một câu lệnh nối là gì?

  4. Khóa chính có được tự động lập chỉ mục trong MySQL không?

  5. Truyền int tới varchar