![]() |
Datenbank: MySQL • Version: % • Zugriff über: UniDac
[SQL] Baumstruktur bzw. Teilbaum löschen?
Hallo,
ich möchte gerne in meinem Baum, den ich mir aus der Datenbank hole Knoten löschen. Bisher sieht mein Ansatz dazu so aus:
SQL-Code:
Die Tabelle sieht vereinfacht so aus: | id | parent | name | level |
DELETE FROM icstree WHERE id = :id OR parent = :id
Mein Problem ist jetzt: Wie gehe ich in die Tiefe? Mit dem obigen Code lösche ich ja nur einen Knoten mit seinen Unterknoten. Ich will aber auch die Unterknoten von den Unterknoten usw... löschen. Geht das überhaupt mit einer SQL-Abfrage? Viele Grüße ... |
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Was genau meinst du?
Also mit Fremdschlüsseln kann man kaskadierend löschen. |
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Hi,
Beispiel: K1 K2 |--K16 |--K18 |--K19 ----|--K34 ----|--K46 K3 K5 Jetz möchte ich K2 löschen und zwar mit allen Unterknoten. Mit meinem SQL erreiche ich aber nur K2,K16,K18 und K19. K34 und K46 bleiben als Leichen in der Datenbank (Diese haben ja als Parent K19). Diese will ich aber auch erreichen. Viele Grüße ... |
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
er braucht praktisch etwas wie
SQL-Code:
DELETE FROM icstree WHERE id = :id OR parent = _ID_eins_der_gelöschten_Einträge_
|
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Zitat:
|
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Ich weiss nicht ob MySQL das kann, aber ich würde einen Foreign Key von parent auf ID legen mit der option Delete Cascade und Update Cascade.
Damit referenziert der Foreign Key auf sich selber. Löscht Du jetzt einen Eintrag werden alle abhängigen Datensätze gelöscht, bis zum letzten Zweig. Ein zusätzlicher Efekt ist auch, dass die Referenz zum Parent geprüft wird beim Insert. So hast bekommst Du Keine "blinden" Einträge. Gruß Borwin |
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Zitat:
|
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Hallo,
MySql kann Foreign Keys wohl nur mit InnoDB. Meine Datenbank ist MyISAM. Weitere Vorschläge, die mich vorm durchiterieren durch den Teilbaum bewahren? Viele Grüße ... |
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Zitat:
|
Re: [SQL] Baumstruktur bzw. Teilbaum löschen?
Das sollte jedes ordentliche DBMS können
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz