Autor Zpráva
Mk
Profil *
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
Jestli jsem to pochopil, tak mysql_insert_id?
Mk
Profil *
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 *
rank algorytmus v PHP si viem spravit aj ja - ale pri 10k riadkov to nie je pre mna riesenie.
Hugo
Profil
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 *
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
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
Zda se, ze jste vubec nepochopil, k cemu ma primarni klic a autoincrement slouzit, zadelavate si na problemy... Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0