Używając:
ALTER TABLE [your table name here] AUTO_INCREMENT = 1
... zresetuje wartość auto_increment na następną w oparciu o najwyższą istniejącą wartość istniejącą w tabeli. Oznacza to, że nie można go używać do korygowania luk o więcej niż jeden.
Jedynym powodem, aby to zrobić, byłyby te kosmetyczne — baza danych nie dba o to, czy rekordy są sekwencyjne, a jedynie, że są ze sobą konsekwentnie powiązane. Ze względu na bazę danych nie ma potrzeby „poprawiania” wartości.
Jeśli wyświetlasz id
wartości dla użytkownika, dlatego też chcesz, aby zawsze były sekwencyjne, zalecam dodanie klucza zastępczego. Użyj klucza zastępczego do wyświetlenia użytkownikowi, aby wartości mogły być ponownie uporządkowane w razie potrzeby, ale w inny sposób nie ma to wpływu na integralność referencyjną. Kluczem zastępczym w tym przypadku byłaby kolumna liczb całkowitych.