Zastosowanie:
ALTER TABLE [your table name here] AUTO_INCREMENT = 1
... kasuje wartość auto_increment być następnym na podstawie najwyższej istniejącej wartości istniejącej w tabeli. Oznacza to, że nie można go użyć do skorygowania przerw w więcej niż jednym.
Jedyny powód, aby to zrobić, dotyczy kosmetyków - baza danych nie dba o to, czy rekordy są sekwencyjne, tylko o to, że odnoszą się do siebie konsekwentnie. Nie ma potrzeby "poprawiania" wartości dla bazy danych.
Jeśli wyświetlasz użytkownikom wartości id
, dlatego chcesz, aby zawsze były sekwencyjne, zalecamy dodanie klucza zastępczego. Użyj klucza zastępczego do wyświetlenia użytkownikowi, aby można było w razie potrzeby powtórzyć sekwencję, ale nienaruszona jest integralność referencyjna. Klucz zastępczy w tym przypadku byłby kolumną całkowitą.
Dlaczego chcesz to zrobić? –
ponieważ używam "id" jako nazwy dla wierszy (linków). więc nie chcę tych nazw, np. skakać od 5 do 23 pozostawiając dużą dziurę pomiędzy. – ajsie
Nie używaj w tym swojej tożsamości. Nazwij wiersze podczas wyświetlania, w ten sposób oddzielasz wizualny numer wiersza od wewnętrznego klucza bazy danych. – Joe