Chèn mysql vào khóa trùng lặp bỏ qua
MySQL cung cấp một số câu lệnh hữu ích khi cần Dưới đây chúng ta sẽ xem xét ba phương pháp khác nhau và lần lượt giải thích ưu và nhược điểm của từng phương pháp để bạn nắm vững cách định cấu hình các câu lệnh của riêng mình khi cung cấp dữ liệu mới hoặc dữ liệu có khả năng tồn tại cho 0Sử dụng INSERT IGNOREViệc sử dụng 5 hoặc trường 6 không tạo ra lỗi, mà thay vào đó sẽ bỏ qua hoàn toàn lệnh INSERT cụ thể đó. Mục đích rõ ràng là để thực hiện một số lượng lớn các câu lệnh INSERT cho sự kết hợp của dữ liệu đã tồn tại trong cơ sở dữ liệu cũng như dữ liệu mới được đưa vào hệ thốngVí dụ: bảng 9 của chúng tôi có thể đã chứa một vài bản ghi
Nếu chúng tôi có một lô lớn dữ liệu mới và hiện có cho 1 (là 5 3 trong bảng), việc sử dụng một INSERT cơ bản sẽ tạo ra lỗi dự kiến
Mặt khác, nếu chúng tôi sử dụng
Sử dụng REPLACETrong trường hợp bạn thực sự muốn thay thế các hàng trong đó các lệnh 5 hoặc 6 như đã nêu ở trên, một tùy chọn là chọn câu lệnh REPLACE Khi đưa ra một câu lệnh
Ví dụ: chúng ta có thể sử dụng 6 cuốn In Search of Lost Time của Marcel Proust với Green Eggs and Ham của Dr. Seuss
Lưu ý rằng mặc dù chúng tôi chỉ thay đổi một hàng, nhưng kết quả cho thấy có hai hàng bị ảnh hưởng bởi vì chúng tôi thực sự 7 hàng hiện tại sau đó 8 hàng mới để thay thế hàng đóThông tin thêm về cách sử dụng Sử dụng INSERT .. ON DUPLICATE KEY UPDATEPhương pháp thay thế (và thường được ưu tiên) cho các hàng 1 có thể chứa các giá trị 5 hoặc 6 trùng lặp là sử dụng câu lệnh và mệnh đề INSERT .. ON DUPLICATE KEY UPDATE Không giống như 3 mà nó thực hiện khi cần thiết – sử dụng INSERT .. ON DUPLICATE KEY UPDATE không mang tính phá hủy, ở chỗ nó sẽ chỉ đưa ra các câu lệnh INSERT hoặc 9, nhưng không bao giờ 3Ví dụ: chúng tôi đã quyết định muốn thay thế bản ghi 6 về Green Eggs and Ham và hoàn nguyên nó về bản ghi gốc Tìm kiếm thời gian đã mất để thay thế. Do đó, chúng tôi có thể lấy câu lệnh INSERT ban đầu của mình và thêm mệnh đề 3 mới
Lưu ý rằng chúng tôi đang sử dụng cú pháp 9 bình thường (nhưng loại trừ tên 5 và từ khóa 6 không cần thiết) và chỉ gán các giá trị 7. Ngoài ra, mặc dù không cần thiết để phương thức 3 hoạt động bình thường, chúng tôi cũng đã chọn sử dụng 9 vì vậy chúng tôi không cần chỉ định các giá trị thực mà chúng tôi muốn INSERT hoặc 9 nhiều lần |