Иерархические данные модели вложенного множества - PullRequest
0 голосов
/ 14 июня 2011

У меня простой вопрос.

Моя структура базы данных:

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 не обновляется.Я делаю это неправильно?

1 Ответ

1 голос
/ 14 июня 2011

Хорошо. Я объяснил это в Управление иерархическими данными в MySQL . См. Часть, начинающуюся с Если вместо этого мы хотим добавить узел в качестве дочернего элемента узла, у которого нет дочерних элементов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...