Portál AbcLinuxu, 10. května 2025 17:16

Dotaz: Problem s maximom pri auto_increment

5.8.2004 13:54 Martin Durman
Problem s maximom pri auto_increment
Přečteno: 307×
Odpovědět | Admin
dobry den,

zatial tento problem nemam ale chcem si to zistit dopredu... dajme tomu ze mame nieco taketo: CREATE TABLE table_a ( id int(11) NOT NULL auto_increment, name varchar(255) NOT NULL default '', PRIMARY KEY (id) );

a do tejto tabulky budem pridavat(aj mazat) udaje. kazdy novy zaznam dostane jedinecne id, ktore bude zakazdym o +1 vacsie. ale co sa stane ked sa prida zaznam s id=2147483647(posledne mozne id...). uvazujme ze v tabulke je ale len napr. 1500 zaznamov takze kopa id je "volnych". ako ale donutit mysql aby ich znova vyuzila??? na googli som o tom nic nenasiel :( neviete poradit?

dakujem
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.8.2004 14:09 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pomocí nějakého skriptu přegenerovat index a nastavit AUTO_INCREMENT na vhodnou hodnotu. Nebo použít něco většího než int.
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
Marián Oravec avatar 5.8.2004 14:16 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
to s tym niecim vacsim ako int ma napadlo tiez ale co ak(aj ked pochybujem) by sa to stalo aj s bigint()?

nastavit auto_increment? da sa take? ako lebo s tym nemam skusenosti...
Mám rád elektro, ale vypočujem si aj iné...
5.8.2004 14:21 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
ALTER TABLE cokoliv AUTO_INCREMENT=123
Marián Oravec avatar 5.8.2004 14:29 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
to s tym alter table ide ale nepomohlo to - stale chyba: Duplicate entry '2147483647' for key 1

skusil som aj REPAIR, OPTIMIZE, CHECK a ANALYZE TABLE ... ale nic...
Mám rád elektro, ale vypočujem si aj iné...
5.8.2004 15:03 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
Psal jsem pregenerovat index A zmenit auto_increment... Jinak to je na nic.

Pokud potrebujes nejake inteligentnejsi generovani indexu, pouzij jinou databazi, ktera umi ulozene procedury (treba MySQL 5 :-) a napis si tam proceduru, ktera ti bude vyhovovat. auto_increment je vhodny pro data co se jednou vytvori a uz se moc nemazou.
5.8.2004 15:03 Martin Krauskopf | skóre: 9
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
S BIGINT by se to opravdu stat nemelo. Citace s mysql manualu:
However, BIGINT values have 64 bits, so do note that if you were to insert one million rows per second, it would still take about a million years before BIGINT reached its upper bound.
:)
5.8.2004 14:17 Jack | skóre: 21 | blog: Od_vseho_trochu | Brno
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co se stane potom nevim, mozna neco jako v prog. jazycich, pretece to a spadne. Resil jsem to tak, ze jsem nepouzival auto_increment, ale pocital to rucne z poctu radku a pri odstaneni radkupreindexoval... vadili me v tom ty diry v id. Vim, neni to optimalni reseni, ale funguje mi...
Marián Oravec avatar 5.8.2004 14:25 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
skusil som pridat do tabulky taketo: INSERT INTO `tst` ( `id` , `name` ) VALUES ( '2147483646', 'aa' );

pridalo to v pohode. potom som pridal dalsie takto: INSERT INTO `tst` ( `id` , `name` ) VALUES ( '', 'bb' );

aj to pridalo v pohode a malo to id=2147483647 - cize posledne mozne.

a ked som chcel pridat znova: INSERT INTO `tst` ( `id` , `name` ) VALUES ( '', 'cc' );

tak totok: Error: Duplicate entry '2147483647' for key 1

cize nepretece len neprida a hodi chybu...
Mám rád elektro, ale vypočujem si aj iné...
5.8.2004 15:02 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
Nechapu jak by to melo pretyct? Jako prepisovat zaznamy od nuly? :-))
Marián Oravec avatar 5.8.2004 15:09 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: Problem s maximom pri auto_increment
tym bolo myslene pretecenie z programatorskeho hladiska(ja som to tak pochopil)... - akoze neosetrena vec v mysqld. ale to iste nie
Mám rád elektro, ale vypočujem si aj iné...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.