Cytując ze strony instrukcji INSERT :
INSERT IGNORE
składnia jest tylko sposobem na pominięcie niektórych komunikatów o błędach i jest pomocna, gdy masz świadomość, że te błędy mogą się zdarzyć i/lub chcesz zająć się nimi na późniejszym etapie. Za kulisami nadal masz zwykłą wstawkę, z wyjątkiem tego, że nie działa z powodu naruszonego klucza. MySQL potrzebuje rzeczywistych wartości wierszy do wstawienia, a licznik AUTO_INCREMENT będzie się zwiększał zgodnie z regularne reguły
:
- Wartość kolumny to NULL.
- Wartość kolumny nie jest ustawiona.
- Wartość kolumny jest większa niż licznik.
Więc jeśli nie możesz przemyśleć swojej logiki (np. sprawdzić, czy wartości klucza istnieją przed wstawieniem), jedynym sposobem na resetowanie licznik to ALTER TABLE :
ALTER TABLE t2 AUTO_INCREMENT = value;