Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> auto_increment
menic
post
Post #1





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


Mam dziwny problem a właściwie to nie wiem co sie dzieje :?
W bazie danych mam tabele z polem auto_increment ustawione jako tinyint.
W bazie mam 2 rekordy. Jeden z nich ma wartość -1 a drugi 1. I teraz jak dodaje kolejny rekord bez wpisywania żadnej wartości do pola z autoincrement to wpisuje mi zawsze 127 gdzie logicznie rzecz biorąc powinno wpisać 2. I zrobić aby to poprawnie działało??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
majkel
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 11.08.2003
Skąd: Warszawa

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


zmienic na INT :wink:
Go to the top of the page
+Quote Post
menic
post
Post #3





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


To chyba nie to. Wypisuje 127 bo to największa liczba jaką mozna przechowywać w polu tinyint :?
Go to the top of the page
+Quote Post
adwol
post
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
Mam dziwny problem a właściwie to nie wiem co sie dzieje :?
W bazie danych mam tabele z polem auto_increment ustawione jako tinyint.
W bazie mam 2 rekordy. Jeden z nich ma wartość -1 a drugi 1. I teraz jak dodaje kolejny rekord bez wpisywania żadnej wartości do pola z autoincrement to wpisuje mi zawsze 127 gdzie logicznie rzecz biorąc powinno wpisać 2. I zrobić aby to poprawnie działało??

Zmień typ tabeli z MyISAM na InnoDB. MyISAM jest troszkę inaczej realizowany niż reszta handlerów przez co nie wspiera ujemnych liczb w kolumnach z atrybutem auto_increment. Na tabeli InnoDB działa to zgodnie z oczekiwaniami.
Go to the top of the page
+Quote Post
menic
post
Post #5





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


Nie ma takiego typu tabeli (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) dla MySQL (bynajmniej w phpmyadmin (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) )
Go to the top of the page
+Quote Post
FiDO
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


W phpmyadmin moze nie ma, ale w samym mysql'u jest. Nawet chyba juz od dosc dawna, tylko ze musisz najpierw uaktywnic mozliwosc stosowania tego typu tabel. Po szczegoly zapraszam do manuala.
http://www.mysql.com/doc/en/InnoDB_in_MySQL_3.23.html
Go to the top of the page
+Quote Post
menic
post
Post #7





Grupa: Zarejestrowani
Postów: 493
Pomógł: 0
Dołączył: 14.06.2003
Skąd: Tomaszów Lubelski/Rzeszów

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


Z tego co wyczytalem w manualu MySQLto ten typ tabeli to jest coś w rodzaju pluginu i trzeba go dokompilować (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) A z reugły takich rzeczy administratorzy systemów nie robią bo to lenie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) wiec ta opcja z InnoDB odpada (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Ma ktos jeszcze jakies pomysły, sugestie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
FiDO
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Nie używać ujemnych ani zerowych auto_increment'ow...
W manualu jest dosc wyraznie napisane, zeby tego nie robic, bo nie dziala tak jak powinno.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 03:54