嵌套集模型层次结构数据

问题描述

| 我有一个简单的问题。 我的数据库结构是:
id | name | left | right // no need to tell me that left,right are reserved keywords
数据库中唯一的数据:
1 | family | 1 | 2
现在,我想为家庭增加新的
child
mother
。因此,从理论上讲,我应该为要添加子项的元素取合适的值,并在其后释放一些空间。
UPDATE `hp_tree` SET `right`=`right`+2 WHERE `right` > 2;
UPDATE `hp_tree` SET `left`=`left`+2 WHERE `left` > 2;
然后只需插入孩子
mother
INSERT INTO `hp_tree` SET `left`=2,`right`=3,`name`=\'Mother\';
现在的问题是,这样
family
(根元素)
right
的值就不会更新。我做错了吗?     

解决方法

        好。我在《在MySQL中管理层次数据》中对此进行了解释。如果我们想将一个节点添加为没有现有子节点的节点的子节点,请参阅以“如果”开头的部分。