我有一个简单的问题。
我的数据库结构是:
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
值不会更新。我做错了吗?
答案 0 :(得分:1)
确定。我在Managing Hierarchical Data in MySQL中解释了这一点。请参阅以开头的部分。如果我们想要将节点添加为没有现有子节点的节点的子节点。