我遇到了这篇文章http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/,但我没有得到“添加新节点”部分。
它说我可以这样做来添加一个新节点:
SELECT @myRight := rgt FROM nested_category
WHERE name = 'TELEVISIONS';
UPDATE nested_category SET rgt = rgt + 2 WHERE rgt > @myRight;
UPDATE nested_category SET lft = lft + 2 WHERE lft > @myRight;
INSERT INTO nested_category(name, lft, rgt) VALUES('GAME CONSOLES', @myRight + 1, @myRight + 2);
答案 0 :(得分:0)
兄弟姐妹并不重要。你可以通过拥有其parent_id来添加新节点。 它的工作方式如下:将节点添加为父节点的最左子节点,然后更新节点的lft和rgt,使其位置与新节点(树的所有节点)相对。树的所有节点现在都在更新。
要添加新的根节点,您应该将其parent_id设置为NULL。
我希望这对你有用。