Consiglio vivamente di provare ad evitare l'utilizzo di un modello di elenco di adiacenza e passare a una soluzione molto più semplice da gestire, come un set nidificato. L'uso di una soluzione di tipo MPTT dovrebbe aiutarti a gestire i tuoi dati gerarchici molto più facilmente. Utilizzando un modello di Adjacency List sei limitato a un certo punto.
Suggerirei di esaminare l'utilizzo di qualcosa sulla falsariga di Zebra_MPTT o qualche altra forma di libreria MPTT. Consulta questo articolo su Gestione dei dati gerarchici in MySQL .