Autor | Zpráva | ||
---|---|---|---|
Pontiac Profil |
#1 · Zasláno: 10. 1. 2009, 16:12:39
Dobrý den, uvedu příklad.
Mám návštěvní knihu nebo regisrovaný uživatele prostě cokoliv nějakej výpis dat s primarním klíčem jako ID. Řekněme, že někdo napíše do návštěvní knihy nějakej spam, tak já jeho komentář smažu a tím mi vznikne mezera v IDčkách takže pokud byl komentář třetí a já ho smazal tak mám Id - 1, 2, 4, 5... atd. Když nemám tabulky propojený tak to nevadí. Těmto dírám v IDčkách se nechá vyvarovat, že přidám sloupec privilegia a pokud komentář nebude vhodný dam tam 0 a při výpisu vypisuju všechny komentáře s 1. Ale můj dotaz, jde v tabulce nějak dropnout ID smazat každý ID u každého řádku a následně ho obnovit takže bych měl ID zase pěkně srovnaný 1, 2, 3, 4... atd.? |
||
Kajman_ Profil * |
#2 · Zasláno: 10. 1. 2009, 16:16:16
Podívejte do faq, ale smysl to nemá.
|
||
Tomasds Profil |
#3 · Zasláno: 10. 1. 2009, 16:19:26
Jde, ale až na výjimky to nemá smysl.
|
||
Tomasds Profil |
#4 · Zasláno: 10. 1. 2009, 17:03:03
Přečetl jsem si tu otázku ještě jednou pořádně, abych pochopil, proč to řešíš. Jdeš na to špatně. Snažit se, aby ID navazovala, nemá smysl a nedělá se to. Díry jsou naprosto v pořádku.
|
||
Pontiac Profil |
#5 · Zasláno: 10. 1. 2009, 17:14:51
Ok díky, moc.
|
||
Joker Profil |
#6 · Zasláno: 10. 1. 2009, 17:19:51
Já bych oproti kolegům výše přitvrdil a řekl rovnou, že "recyklovat" IDčka je škodlivý návyk.
Doporučil bych ID řádku brát prostě jako unikátní identifikátor toho konkrétního záznamu a nikdy by neměly existovat ve stejné tabulce dva záznamy se stejným ID, a to ani v různém čase. S jednou tabulkou to recyklování IDček ničemu neuškodí ani nepomůže, s více provázanými tabulkami je to cesta do pekel. Pak je druhá věc- zacelovat díry tak, že při smazání záznamu snížím vyšší IDčka. To je cesta do pekel vždycky. Krátce: ID záznamu by mělo být pevně svázané s tím záznamem- jeden konkrétní záznam by měl mít právě jedno ID a jedno konkrétní ID by mělo být přidělené právě jednomu záznamu. |
||
Časová prodleva: 15 let
|
0