Autor Zpráva
Pavel Dumbrovský
Profil
Dobrý den,
řeším teď na jednom shopu menší problém a s tím souvisí můj dotaz. Když si v phpmyadminu seřadím vzestupně položky podle data vytvoření (přiřazuje se pomocí NOW() ) a id, tak se to neshoduje. Tedy když seřadím podle data vytvoření a koukám na položky z dneška, tak jsou tam ID jako 8401, 19879, atd.. Jak je to možné? Myslel jsem, že databáze zachovává při INSERTU určitou posloupnost podle ID a ne, že si třeba vezme ID, které zrovna chybí.. ID má auto_increment a PRIMARY KEY.

Díky za vysvětlení..
Kajman
Profil
Pokud se při vkládání id neurčí přímo v dotaze, využije se nastavené auto_increment hodnoty.

Problém může způsobovat práce s tímto nastavením, případně updatování sloupečku s datumem i jinde než při insertu.
Pavel Dumbrovský
Profil
Znamená to tedy, že auto increment si může vybrat nějaké starší prázdné ID a nepokračovat v posloupnosti?
Joker
Profil
Pavel Dumbrovský:
Znamená to tedy, že auto increment si může vybrat nějaké starší prázdné ID a nepokračovat v posloupnosti?
Ne, auto_increment vždycky pokračuje vyššími čísly.

Ale může se buď přidělit ID přímo, nebo měnit datum vytvoření někde jinde než při INSERTu, jak píše Kajman.
Pavel Dumbrovský
Profil
Aha, na to jsem samozřejmě pomyslel a pokládal jsem to za blbost, ale je to opravdu tak, při editaci se aktualizuje time_created.
Takže se omlouvám za zbytečný dotaz, ale stejně jste mi pomohli, díky. :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: