Autor Zpráva
Dicha
Profil *
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
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 *
Děkuji mockrát hned vyzkouším :)

Marek
Leo
Profil
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
Toto téma je uzamčeno. Odpověď nelze zaslat.

0