Autor | Zpráva | ||
---|---|---|---|
Pavel Dumbrovský Profil |
#1 · Zasláno: 9. 8. 2012, 14:14:21
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 |
#2 · Zasláno: 9. 8. 2012, 14:27:42
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 |
#3 · Zasláno: 9. 8. 2012, 14:37:13
Znamená to tedy, že auto increment si může vybrat nějaké starší prázdné ID a nepokračovat v posloupnosti?
|
||
Joker Profil |
#4 · Zasláno: 9. 8. 2012, 15:03:11
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 |
#5 · Zasláno: 9. 8. 2012, 15:25:52
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. :) |
||
Časová prodleva: 12 let
|
0