![]() |
![]() |
![]()
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?? |
|
|
![]() |
![]()
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:
|
|
|
![]()
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 :?
|
|
|
![]()
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. |
|
|
![]()
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) )
|
|
|
![]()
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 |
|
|
![]()
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) |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:54 |