Trích dẫn từ trang thủ công cho INSERT :
INSERT IGNORE
cú pháp chỉ là một cách để loại bỏ các thông báo lỗi nhất định và sẽ rất hữu ích khi bạn biết rằng những lỗi đó có thể xảy ra và / hoặc muốn xử lý chúng ở giai đoạn sau. Đằng sau hậu trường, bạn vẫn có một lần chèn bình thường, ngoại trừ việc nó không thành công do một khóa bị vi phạm. MySQL cần các giá trị hàng thực tế để thực hiện chèn và bộ đếm AUTO_INCREMENT sẽ tăng theo quy tắc thông thường
:
- Giá trị của cột là NULL.
- Giá trị cho cột không được đặt.
- Giá trị của cột lớn hơn giá trị của bộ đếm.
Vì vậy, trừ khi bạn có thể suy nghĩ lại logic của mình (ví dụ:kiểm tra xem các giá trị khóa có tồn tại hay không trước khi thực hiện chèn), cách duy nhất để đặt lại bộ đếm là BẢNG THAY THẾ :
ALTER TABLE t2 AUTO_INCREMENT = value;