Wie gehe ich vor, um die Tiefe/Länge-Spalte einer Schließungstabelle zu füllen, wenn ein neuer Knoten in den Baum eingefügt wird?Tiefe in MYSQL- und Closure-Tabellenbäumen
Die Werte in Vorfahren und Nachkommen sind IDs aus einer anderen Tabelle, die Seiten darstellen, die in einer Baumstruktur angeordnet werden sollen.
Closure Tabelle:
ancestor descendant depth
1 1 0
1 2 1
1 3 1
1 4 1
2 2 0
3 3 0
4 4 0
Dies wird die Vorfahren und Nachkommen richtig einsetzen, aber ich bin nicht sicher, wie die Tiefe Spalte füllen einfügen Abfrage:
INSERT INTO closure_tree_path (ancestor, descendant)
SELECT ancestor, '{$node_id}' FROM closure_tree_path
WHERE descendant = '{$parent_id}'
UNION ALL SELECT '{$node_id}', '{$node_id}';
Was ist der beste Weg ist, um gehst du darüber? Vielen Dank!
Diese Abfrage funktioniert nicht. – Guy
Ich habe vergessen, die Tiefe Spalte in den INSERT-Teil zu setzen. Aktualisiert. – tazer84
Bereits berücksichtigt. Funktioniert nicht. – Guy