Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]Przeskakujaca wartosc auto_increment
Forum PHP.pl > Forum > Przedszkole
tweety_master
Witam, serdeczna prosba o pomoc.

Dzis zauwazylem, ze kolejne wiersze, ktore sa dodwane do tabeli w wierszu 'lp', ktory ma ustawiona opcje auto_increment nie sa numerowane kolejnymi liczbami, a liczbami z przeskokiem 10...

Dzieje sie tak zarowno przy dodwaniu przez formularz, jak i przez phpMyAdmin.

Znalazlem na forum dwa tematy, ale takm problem nie zostal rozwiazany - autor sie poddal.

Jezeli chodzi o dodwanie przez formularz to kod wyglada nastepujaco

  1. <?php
  2. $lp=$HTTP_POST_VARS['lp'];
  3.  
  4. ...;
  5.  
  6. $lp=addslashes($lp);
  7.  
  8. ...;
  9.  
  10. $lp=trim($lp);
  11.  
  12. ...;
  13.  
  14. $zapytanie = "insert into m2  (lp, ...)";
  15.  
  16. VALUES ('$lp', ...);
  17. ?>


Wlasciwosci kolumny w tabeli:
  • Typ: int (10)
  • NULL: nie
  • Dodatkowo: auto_increment

Wczesniej dzialalo bez problemu, wartosci byly kolejnymi liczbami, teraz na serweze jest MySQL: 5.0.27 (byla zmiana) i wartosci przeskakuja o 10.

Nie jest to jakis straszny problem, ale bede wdzieczny za wszelka pomoc.
artur_dziocha
nie dodaj do lp
samo sie inkrementuje
tweety_master
Nie do konca rozumiem? wyrzucic lp z zapytania i wyrzucic z values?
erix
  1. <?php
  2. $lp=$HTTP_POST_VARS['lp'];
  3. ?>

Działa Ci to w ogóle...? Mam wątpliwości.

Poza tym, jak ~artur_dziocha zauważył, nie uwzględniaj tej kolumny w zapytaniu; MySQL sobie sam poradzi.
tweety_master
Cytat(erix @ 21.02.2009, 14:37:17 ) *
  1. <?php
  2. $lp=$HTTP_POST_VARS['lp'];
  3. ?>

Działa Ci to w ogóle...? Mam wątpliwości.




Dziala, dziala jak najbardziej, zostalo tak dodane kilka tysiecy rekordow.


Cytat(erix @ 21.02.2009, 14:37:17 ) *
Poza tym, jak ~artur_dziocha zauważył, nie uwzględniaj tej kolumny w zapytaniu; MySQL sobie sam poradzi.


Po usnieciu z zapytania lp i '$lp' jest dokladnie to samo. Zreszta jak pisalem, w momencie dodawania jakiegokolwiek wpisu przez phpMyAdmina lp rowniez wzrasta o 10, wiec to nie moze byc tylko wina kodu. 
erix
Cytat
Dziala, dziala jak najbardziej, zostalo tak dodane kilka tysiecy rekordow.

Ale ustawienie, które aktywuje tę zmienną domyślnie jest wyłączone od którejś wersji PHP. Jeśli zmieniono konfigurację php.ini, nie będzie miało prawa działać.

A pokaż wynik zapytania show create table tabela.
tweety_master
Wynik zapytania

CODE
CREATE TABLE `m2` (



`lp` int(11) NOT NULL auto_increment,

`m1_name` varchar(11) default NULL,

`m2_name` varchar(11) default NULL,

`source` int(11) default NULL,

`collected_date` varchar(10) default NULL,

`isolation_box` int(5) default NULL,

`isolation_rzad` varchar(2) default NULL,

`isolation_kolumna` int(2) default NULL,

`isolation_date` varchar(10) default NULL,

`isolation_quantity` varchar(250) default NULL,

`isolation_quality` varchar(250) default NULL,

`phenotyp_coleoptile` varchar(250) default NULL,

`phenotyp_first_leaf` varchar(250) default NULL,

`phenotyp_pigmantation` varchar(250) default NULL,

`phenotyp_rosette` varchar(250) default NULL,

`phenotyp_tillers` varchar(250) default NULL,

`phenotyp_heading` varchar(10) default NULL,

`phenotyp_spike` varchar(250) default NULL,

`phenotyp_others` varchar(250) default NULL,

`post_clum` varchar(10) default NULL,

`post_spike` varchar(10) default NULL,

`post_awn` varchar(10) default NULL,

`post_tillers` varchar(10) default NULL,

`post_fertility` varchar(15) default NULL,

`post_seed_m3` int(10) default NULL,

`post_weight_seed_m3` varchar(11) NOT NULL default '0',

`post_others` varchar(250) default NULL,

PRIMARY KEY (`lp`),

UNIQUE KEY `unikalny` (`m1_name`,`m2_name`),

KEY `unikalny_box` (`isolation_box`,`isolation_rzad`,`isolation_kolumna`)

) ENGINE=MyISAM AUTO_INCREMENT=14066 DEFAULT CHARSET=latin2
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.