Autor | Zpráva | ||
---|---|---|---|
Dicha Profil * |
#1 · Zasláno: 25. 3. 2007, 20:58:39
Dobrý den,
Vytvořil jsem si stromovou strukturu v databázi s těmito položkami (int IDMenu, int IDParent, int Level, varchar Jmeno). V kořenu mají záznamy IDParent=0 a Level=1, větve se odkazují na předka pomocí IDParen a Level odpovídá hloubce zanoření. Po čase mě v tomto stromě vznikl binec kvůli špatnému mazání položek. Některé větve zůstali v DB, ale už nemají žádného předka. Můžete mě prosím poradit jakým SQL příkazem můžu smazat všechny větve bez předka. Děkuji Marek |
||
YoSarin Profil |
#2 · Zasláno: 26. 3. 2007, 00:31:31
DELETE * FROM db WHERE IDParent NOT IN (SELECT IDMenu FROM db) AND IDMenu != 0;
A opakovat tolikrát dokud to bude něco mazat. :-) |
||
Dicha Profil * |
#3 · Zasláno: 26. 3. 2007, 08:16:55
Děkuji mockrát hned vyzkouším :)
Marek |
||
Leo Profil |
#4 · Zasláno: 26. 3. 2007, 08:47:38
Ovsem neni to zdaleka systemove reseni - pokud vam behem mazani nekdo strukturu zmeni. Ten samy problem je v puvodni aplikaci, jinak byste tam nemel takovy binec. Leo
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0