Ja klar...
Zur Rekursion: Aber so viele Datensätze werde ich nie haben. "Besser" wäre es sicher schon, wenn man mehr auf bspw. PHP auslagern würde so dass nur 1 Query erfolgt, der Rest mit PHP-Datenstrukturen (anstelle vom immer wieder per SELECT abfragten Resultsets) abgearbeitet werden würde. (Dann könnte man bspw. auch einen "Stack" verwenden um Rekursion zu erreichen anstelle sich immer wieder selbst aufzurufen, man müsste auch keine Methode (bei SQL "Procedure") verwenden welche kein "RETURN" kann und "by Reference"/Callback-mässig übergibt, sondern könnte eine "normale" Funktion verwenden mit "RETURN" am Ende verwenden. (Analog SQL "Function", dort ist es aber gemäss meiner Fehlermeldung so, dass keine Rekursion erfolgen darf in einer Function falls sich in der gleichen DB Trigger befinden, hmmmm na ja...)
Zu meinem Pseudo-FK für die Knoten: Da ist die Sache die, dass er nicht nur einen gültigen PK annahmen darf und NULL, sondern auch '0' (=analog NULL, muss aber '0' verwenden weil sonst das GUI stress macht. ich weiss, die DB dem GUI anzupassen ist eigentlich ziemlich blöd) und auch '-1' für den "root node"...
Und ich weiss ehrlich gesagt wirklich nicht, wie ich das über eine "normale" FOREIGN KEY Deklaration machen soll??
Gruss, Jan