Ok dann versuche ich das Problem mal etwas umfangreicher zu umreissen.
Ich ahbe eine Tabelle in der ich eine Baumstruktur mit Hilfe des NestedSet Konzeptes abgelegt habe. Das Ganze sieht dann so aus:
---------------------------------------------------
| tree_id(INT) | lft(INT) | rgt(INT) | depth(INT) |
---------------------------------------------------
Nun möchte ich nachdem ein neuer Konten eingefügt wurde, automatisch dessen (Level-)Tiefe einfügen. Das Gleiche soll auch passieren, wenn ein Konten verschoben wurde. Da sich im letzteren Fall die Änderungen auf den ganzen Baum auswirken können, möchte ich einen Trigger oder eine Procedure haben mit der ich direkt auf der Datenbank arbeiten kann, ohne dass ich in PHP jede Updateanweisung einzeln ausführen muß.
Ich habe auch schon versucht eine Updateanweisung für die gesamte DB zu formulieren, bin aber zu keinem Ergebnis gekommen.
Hier mal das Query zum herausfinden welche Leveltiefe ein Knoten hat:
SELECT n1.tree_id, COUNT(*) AS level
FROM struktur
AS n1, struktur
AS n2
WHERE n1.lft BETWEEN n2.lft AND n2.rgt
GROUP BY n1.lft;
NUn möchte ich daraus eine Updateanweisung machen die über die gesamte Tabelle geht. Am besten als Trigger. Aber auch als Procedure oder als einzelne SQL Anweisung würde mir schon weiterhelfen.