Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> INSERT gdy auto_increment osiągnął maksimum ?
sobstel
post
Post #1





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


jak rozwiązać problem kiedy np. kolumna jest typu TINYINT i auto_increment osiągnął już liczbę 255? wtedy przy dodawaniu mysql probuje dodac nastepny rekord z id 127 i pojawia się błąd "Duplicate entry".

przykladowa struktura tabeli : id tinyint NOT NULL auto_increment
zapytanie : INSERT INTO tabela VALUES (0)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 2005-04-20 14:27:37)
Cytat

nie wstawia mi 0, tylko kolejny id wg. wartosci w auto_increment.
2) co do tinyint to sarkazm? jesli tak to niezbyt go zrozumialem.

Auto_increment wstawia tam gdzie jest null

Ad.2. Chyba cos zle zrozumialem. Zakladasz pole i przypisujesz typ taki aby Twoje dane miescily sie w zakresie. Jesli ma byc tinyint to wiadomo do czego sie ograniczasz. Chodzilo mi o to po co zakladac pole, skoro wiesz ze i tak je przekroczysz, a jesli przekroczysz to baza zwraca blad, poniewaz nie mozna zwiekszyc wartosci i wartosc np dla tinyint zostaje 127(Duplicate entry)

1) tam gdzie 0 tez. sprawdz samemu. nie psze tu czegos czego nie uzywalem...

2) tak jak pisalem wyzej, chcialbym wypelnic pierwszy wolny rekord. dane w tabeli są często dodawane i usuwane (ale w danym czasie nie ma ich więcej niż zakres TINYINT), więc auto_increment szybko się wyczerpuje a miejsce w tabeli wciąż jest, więc zakres wystarcza (teoretycznie).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 03:10