Autor | Zpráva | ||
---|---|---|---|
Mk Profil * |
#1 · Zasláno: 2. 1. 2006, 15:39:02
Mam tabulku, kde primarny kluc je auto_increment. V tejto tabulke dochadza casto k zmenam, a ja potrebujem zachovat poradie PK - tzn.:
1. = 0 2. = 1 3. = 2 . . . X = X-1 Existuje funkcia v MySQL, ktora mi zaisti ? |
||
halogan Profil |
#2 · Zasláno: 2. 1. 2006, 15:43:31
Jestli jsem to pochopil, tak mysql_insert_id?
|
||
Mk Profil * |
#3 · Zasláno: 2. 1. 2006, 15:47:02
riadky v tabulke sa casto menia - pridavaju sa nove a mazu sa - a ja potrebujem udrziavat poradie PK - napr. ak v tabulke bude 1000 zaznamov - prvy bude mat id=0 a posledny id=999
|
||
Mk Profil * |
#4 · Zasláno: 2. 1. 2006, 15:49:53
rank algorytmus v PHP si viem spravit aj ja - ale pri 10k riadkov to nie je pre mna riesenie.
|
||
Hugo Profil |
#5 · Zasláno: 2. 1. 2006, 15:54:21
Mk
Primární klíč je údaj, který by se neměl nikdy měnit. Může to způsobit dost problémů. Pokud data z MySQL zpracováváš např. pomocí PHP, tak je imho lepší ty řádky očíslovat až ve skriptu. |
||
Mk Profil * |
#6 · Zasláno: 2. 1. 2006, 16:05:46
Vyriešil som to!!!
1. ALTER TABLE tablename AUTO_INCREMENT = 1 ďalší insert bude mať id = 1. voľné číslo v auto-incremente Aj tak ďakujem za reakcie |
||
Hugo Profil |
#7 · Zasláno: 2. 1. 2006, 16:15:37
Mk
Tohle řešení není moc dobré, protože pokud dochází v té tabulce ke změnám opravdu často (tzn. několikrát během sekundy), tak dřív nebo později dojde ke kolizi. A pokud ta frekvence změn není tak častá, tak bych to řešil spíš triggerem (pokud máš mysql5). |
||
Leo Profil |
#8 · Zasláno: 2. 1. 2006, 16:48:33
Zda se, ze jste vubec nepochopil, k cemu ma primarni klic a autoincrement slouzit, zadelavate si na problemy... Leo
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0