Maksymalna wartość bigint to 9 223 372 036 854 775 807 . Jeśli w ciągu jednego dnia zdobędziesz 8 cyfr, nadal potrzebujesz 10 dni, aby osiągnąć maksimum. To jakieś 25 milionów lat.
Zakładając, że nadal chcesz zresetować kolumnę, pierwsze pytanie, jakie mam, brzmi:czy kolejność wierszy jest ważna? To znaczy, czy polegasz na fakcie, że wiersz 1000 występuje przed 1100 dla, powiedzmy, porządku chronologicznego lub w inny sposób bezwzględnego? Jeśli nie, to jest proste:usuń kolumnę i dodaj ją ponownie. Hej presto, nowe wartości.
Jeśli chcesz zachować porządek, musisz zrobić to trochę ostrożniej:
- Zablokuj stół;
- Zmień typ, aby nie był już automatycznym przyrostem;
- Utwórz nową kolumnę. Najlepiej na razie nie ma indeksów, ponieważ aktualizacja indeksu spowolni wstawki;
- Wypełnij wartości drugiej pętli pewnego rodzaju pętlą zwiększającą licznik (jak sztuczka z rownum SQL Server) porządkującą wstawki, aby pasowały do oryginalnej kolejności;
- Zastąp starą kolumnę nową;
- Zresetuj automatyczne przyrosty i stan klucza podstawowego.