Autor Zpráva
Pontiac
Profil
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 *
Podívejte do faq, ale smysl to nemá.
Tomasds
Profil
Jde, ale až na výjimky to nemá smysl.
Tomasds
Profil
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
Ok díky, moc.
Joker
Profil
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.

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: