Autor Zpráva
kikinet
Profil
Zdravím,
mám další problém. Vkládám do databáze hodnoty všech sloupců kromě ID (auto_increment), to se samozřejmě vždy zapíše samo. problém je ale v tom, že čísla jako by generoval náhodně. Např.: 21; 25; 15; 48; 2... atd. Je to tím, že při INSERTu nevkládám ID ručně?
Fidilip
Profil
Ahoj,

nikdy by jsi ID neměl vkládat ručně. Proč ti vadí sekvence 21, 25, 15? Dokud je ID unikátní, je ok. Podle ID by jsi neměl řadit, neměl by jsi ani očekávat, že bude chronologicky vzestupné.

Co používáš za databázi?
Tori
Profil
kikinet:
Např.: 21; 25; 15; 48; 2
Generují se ti ID v tomhle pořadí (tj. střídavě menší a větší), anebo jsi to jen napsala jako příklad? Auto_increment si pamatuje poslední vložené ID, i kdyby ten řádek byl z DB smazaný, takže může snadno vyrobit nespojitou řadu čísel. Což je v pořádku.
kikinet
Profil
Fidilip
To vím, proto ji nevkládám ručně, ale zaskočilo mě, že to popořadě nejde.

Tori:
Byla to jen náhodná ukázka

Ještě nevím jestli mi to bude v něčem vadit, tudíž se zeptám.
Nahrávám fotky na web. V té tabulce jsou uloženy názvy souborů a jejich zařazení do skupiny.
Otázka: Můžu potom zobrazit fotky (nebo jejich názvy) od nejnovějších, když ID má číslo náhodně velké a tudíž nemůžu říct zda ID=10 je novější nebo starší než ID=20?
Tori
Profil
Pokud nevkládáš ID ručně, tak ve sloupci s auto_increment bude ID 20 vždy označovat novější záznam než ID 10. Ale pro řazení by bylo lepší použít samostatný sloupeček, typ date nebo datetime, dají se pak najít obrázky přidané během posledních x dní apod. Datum/čas přidání si můžeš zformátovat buď ještě v mysql funkcí date_format, nebo v PHP (strtotime + date).
kikinet
Profil
Tori:
Takže tvým doporučením je nespoléhat se na číslování ID a pro zjištění "stáří" záznamu radši použít datum? Dám teda na tebe, vyzkouším to a kdyby něco, ještě napíšu.
Tori
Profil
Podle ID jen zjistíš, který ze dvou náhodně vybraných záznamů je novější. Když si budeš ukládat datumy, budeš vědět i o kolik. Záleží, co potřebuješ. Nicméně, nepoužívaný sloupeček se dá kdykoli smazat, zatímco zpětně doplnit data by bylo dost nepřesné + otravná práce při větším množství obrázků.
kikinet
Profil
Tori:
Když to vezmu kolem a kolem, pro pozdější využití bude určitě přínosnější datum vkládat. Jinak už to teda běží, super. Děkuju za spolupráci a rady :)

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: