2009-09-25 15 views
25

Obecnie za każdym razem, gdy dodaję wpis do mojej bazy danych, wartość automatycznego przyrostu zwiększa się o 1, tak jak powinna. Jednak jest to tylko przy zliczeniu 47. Tak więc, jeśli dodaję nowy wpis, będzie to 48, a potem kolejny 49 itd.Zmiana aktualnej liczby wartości Auto Increment w MySQL?

Chcę zmienić aktualny licznik Automatycznego Przyrostu . To znaczy. Chcę zmienić go z 47 na 10000, aby następna wprowadzona wartość wynosiła 10001. Jak to zrobić?

Odpowiedz

69

Można użyć ALTER TABLE aby ustawić wartość kolumny AUTO_INCREMENT; cytowanie tej strony:

Aby zmienić wartość AUTO_INCREMENT licznika być wykorzystywane do nowych wierszy, to zrobić:

ALTER TABLE t2 AUTO_INCREMENT = value; 

Istnieje również uwaga mówiąc, że:

Nie można zresetować licznika do wartości o wartości mniejszej lub równej wartości . używany.
Na MyISAM jeśli wartość jest mniejsza niż lub równa maksymalnej wartości obecnie w kolumnie AUTO_INCREMENT wartość jest ustawiana na aktualną maksymalnie plus jeden.
Dla InnoDB, jeśli wartość jest mniejsza niż aktualna maksymalna wartość w kolumnie , nie wystąpi błąd, a bieżąca wartość sekwencji nie zostanie zmieniona.

Mam nadzieję, że to pomoże!

+1

chciałbym wspomnieć, że można zmienić tylko "AUTO_INCREMENT" na konkretną liczbę. Wyrażenia są niedozwolone. Próbowałem "pominąć" niektóre wartości przez 'ALTER TABLE t2 AUTO_INCREMENT = + wartość' i' ALTER TABLE t2 AUTO_INCREMENT = AUTO_INCREMENT + value', ale obie spowodowały błąd, który wydawał się trochę dziwny. Wersja MySQL '5.6.33' – mrun

+0

Próbuję tego, ale nie działa –

12

patrz instrukcja obsługi dla ALTER TABLE - powinno to zrobić:

ALTER TABLE [tablename] AUTO_INCREMENT = [number] 
7

można się tego zrobić, wykonując następujące oświadczenie

ALTER TABLE t2 AUTO_INCREMENT = 10000; 

Więc następnym klucz Auto Przyrost rozpocznie się od 10001.

Mam nadzieję, że rozwiąże problem

+7

Dlaczego powtarzałeś już udzieloną odpowiedź i podałeś link ze spamem? Proszę tego nie robić. Powitanie nie jest potrzebne (twoje imię już pojawia się pod postem) i spamowanie również nie (wystarczy umieścić go w swoim profilu użytkownika). – BalusC

Powiązane problemy