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.