Autor | Zpráva | ||
---|---|---|---|
kikinet Profil |
#1 · Zasláno: 26. 3. 2014, 21:02:42
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 |
#2 · Zasláno: 26. 3. 2014, 21:11:28
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 |
#4 · Zasláno: 26. 3. 2014, 21:50:29
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 |
#5 · Zasláno: 26. 3. 2014, 21:59:49
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 |
#6 · Zasláno: 26. 3. 2014, 22:02:24
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 |
#7 · Zasláno: 26. 3. 2014, 22:06:54
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 |
#8 · Zasláno: 26. 3. 2014, 22:27:09
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 :) |
||
Časová prodleva: 10 let
|
0