Bastel dir einfach eine Struktur
Code:
nodes: (ID | ParentNode -> nodes.ID | IndexInLevel | Data )
Dann kannst du über ein einfaches ParentNode-Update den Nodelevel ändern, über ein IndexInLevel-Update die Position im aktuellen Level.. Mit einem AFTER UPDATE Trigger muss man sich nicht mal drum kümmern, die nachfolgenden Nodes entsprechend zurückzusetzen.