Citando dalla pagina del manuale per INSERT :
Il INSERT IGNORE
la sintassi è solo un modo per sopprimere determinati messaggi di errore ed è utile quando si è consapevoli che tali errori potrebbero verificarsi e/o si desidera gestirli in una fase successiva. Dietro le quinte, hai ancora un inserto normale, tranne per il fatto che fallisce a causa di una chiave violata. MySQL ha bisogno dei valori di riga effettivi per fare un inserimento e il contatore AUTO_INCREMENT aumenterà in base a regole regolari
:
- Il valore della colonna è NULL.
- Il valore per la colonna non è impostato.
- Il valore della colonna è maggiore del contatore.
Quindi, a meno che tu non possa ripensare alla tua logica (ad es. verificare se i valori chiave esistono prima di eseguire l'inserimento), l'unico modo per reimpostare il contatore è ALTER TABLE :
ALTER TABLE t2 AUTO_INCREMENT = value;