Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] tajemniczy błąd
Forum PHP.pl > Forum > Przedszkole
wojzem
W mojej bazie mysql co jakiś czas wyskakuje błąd w kolumnie auto_increment:

Duplicate entry '127' for key 1

Co ciekawsze, baza dostaje czkawki zawsze przy tej samej wartości auto_increment, tak jakby nie umiała policzyć do 128 winksmiley.jpg Zablokowanie ma miejsce w różnych tabelach, zawsze w kolumnie auto_increment, zawsze przy wartości 127. Nie pomaga naprawianie, optymalizowanie, przeładowywanie, ustawienia nowej domyślnej wartości auto_increment. Czasem pomaga np. zrestartowanie mysql albo zmiana sposobu składowania danych w obrębie "zepsutej" tabeli.

Czy ktoś ma pomysł, co można z tym zrobić? Dodam, że testowałem bazę na różnych komputerach i serwerach i WSZĘDZIE pojawiał się prędzej czy później ten sam błąd: Duplicate entry '127' for key 1 sad.gif
Grzyw
Jaki masz typ pola, które jest autoinkrementowane? Ewidentnie wygląda na to, że został osiągnięty maksymalny pułap 1 bajta danych w tym polu. (w 1-bajtowym polu mieszczą się dane od 0 do 127).
wojzem
pole id: tinyint(4), auto_increment, primary key (w każdej tabeli jest takie samo).

Ale tabela zacina się bez względu na ilość rekordów: jeżeli po zawieszeniu wykasuję wszystkie dane, to wstawia potem tylko jeden rekord o wartości auto_increment = 127, a przy próbie dodania następnego wyświetla nieszczęsny komunikat: Duplicate entry '127' for key 1.
barat
TINYINT - liczba jednobajtowa. Wartości od -128 do 127.

Źródło: http://www.php.rk.edu.pl/w/p/podstawy-jezyka-sql/

Chyba wszystko jasne ? ;>

Zmień typ pola na INT i będzie OK smile.gif
wojzem
zmieniłem, jak na razie działa, bardzo dziękuję za pomoc!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.