Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zachowanie Auto_increment po wyczerpaniu limitu liczb
Forum PHP.pl > Forum > Bazy danych > MySQL
czarek1986
Witam.
Chciałbym aby ktoś wytłumaczył mi co się dzieje gdy przy używaniu funckji auto_increment skonczy nam się pula liczb w polu w którym jej uzywamy, gdyż za bardzo nie mogę znależć nic na ten temat w internecie, ale może po prostu nie wiem jak sformułować zapytanie. Np mam pole 'id' int(2) i uzywam auto_increment gdzie wstawił on liczbę 99. Co stanie się więc gdy funckja ta będzie chciala wstawić kolejną liczbę czyli 100?
Crozin
To dwa w nawiasie nie ma nic do ograniczenia pola - informuje do ilu miejsc ma być liczba dopełniona zerami w przypadku użycia ZEROFILL
czarek1986
Cytat(Crozin @ 1.05.2009, 13:52:06 ) *
To dwa w nawiasie nie ma nic do ograniczenia pola - informuje do ilu miejsc ma być liczba dopełniona zerami w przypadku użycia ZEROFILL


Dzieki za pomoc. Masz u mnie "pomógł" smile.gif

Jak ktoś może coś jeszcze ciekawego na ten temat napisać to zapraszam.
czarek1986
Temat stary ale odświeże go gdyż zastanawia mnie kolejna rzacz. Co się stanie jeśli wyczerpiemy całą możliwą do zapisania pule danego typu? np. przy dodawaniu nowych wierszy przez xx lat w koncu wartość INT, jaką z reguły oznaczone są pola id, zapiszemy już 2147483647 rekordów? Czy ich dodawanie rozpocznie się z id od 1 czy może po prostu nie uda się dodać kolejnych rekordów i trzeba będzie zmienić typ pola lub przenieść bazę danych np na system 64bitowy?
Mchl
1. UNSIGNED INT (a taki typ powinineś stosować dla AUTO_INCREMENT) kończy się na 2^32-1 czyli około 4 mld.
2. Jak już tam dojedzie, będzie próbował wstawiać ostatnią liczbę z tego zakresu. Zazwyczaj kończy się to błędami zduplikowanego klucza głównego
3. BIGINT
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.