Обычно это работает так, что вы назначаете лист или узел самого низкого уровня. Затем, когда вы запрашиваете полную иерархию, вы перемещаетесь по дереву к корню. Как правило, гораздо проще (особенно в MySQL) переходить от листа к корню, чем наоборот.
Вот лучшая ссылка Я обнаружил, что описывает, как выполнить этот запрос для дерева динамического размера (ссылка, которую вы включили, предполагает, что дерево всегда имеет глубину 3 уровня)