この記事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);
- 実行時に、兄弟ではなく親がわかります。
- ノードに兄弟がまったくない場合、どうすれば追加できますか?
- 新しいルート ノードを追加するにはどうすればよいですか?