嵌套集模型分层数据

时间:2011-06-14 15:12:57

标签: mysql

我有一个简单的问题。

我的数据库结构是:

id | name | left | right // no need to tell me that left, right are reserved keywords

数据库中唯一的数据:

1 | family | 1 | 2

现在,我想向家庭添加新的childmother。所以从理论上讲,我应该采用我想要添加子元素的元素的正确值,然后释放一些空格。

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值不会更新。我做错了吗?

1 个答案:

答案 0 :(得分:1)

确定。我在Managing Hierarchical Data in MySQL中解释了这一点。请参阅以开头的部分。如果我们想要将节点添加为没有现有子节点的节点的子节点