no_santa
Снегур
Вопрос про деревья
Делаю таблицу в БД на MySQL по следующему принципу
1. id
2. parent_id
3. etc
Суть структуры - дерево, с неограниченным количеством вложений
Проблема возникла при разработке операции удаления детей.
1. Как сформулировать один запрос к базе, чтобы удалились все дети данного элемента, а также все дети, вложенные в данных детей и т.д. (id -> parent_id,id -> parent_id,id -> parent_id,id -> parent_id...)
2. Как одним запросом получить всю ветку до родителя (parent_id -> id, parent_id -> id, parent_id -> id, parent_id -> id...)
3. Как одним запросом получить всю ветку до родителя, с родственниками (перечень ближайших родственников сейчас получаю так - SELECT * FROM `table` WHERE `parent_id`=... ORDER BY `sortorder`. Как сделать глобальную вендетту, то есть получить не только братьев и сестер, но и дядюшек, и тетушек и т.д.?)
Заранее большое спасибо! Еще большее спасибо и доброго здоровья тому, кто даст примеры запросов!!!
-~{}~ 05.12.08 17:25:
Просьба сюда не посылать http://phpclub.ru/detail/article/2002-06-03 - не то.
Делаю таблицу в БД на MySQL по следующему принципу
1. id
2. parent_id
3. etc
Суть структуры - дерево, с неограниченным количеством вложений
Проблема возникла при разработке операции удаления детей.
1. Как сформулировать один запрос к базе, чтобы удалились все дети данного элемента, а также все дети, вложенные в данных детей и т.д. (id -> parent_id,id -> parent_id,id -> parent_id,id -> parent_id...)
2. Как одним запросом получить всю ветку до родителя (parent_id -> id, parent_id -> id, parent_id -> id, parent_id -> id...)
3. Как одним запросом получить всю ветку до родителя, с родственниками (перечень ближайших родственников сейчас получаю так - SELECT * FROM `table` WHERE `parent_id`=... ORDER BY `sortorder`. Как сделать глобальную вендетту, то есть получить не только братьев и сестер, но и дядюшек, и тетушек и т.д.?)
Заранее большое спасибо! Еще большее спасибо и доброго здоровья тому, кто даст примеры запросов!!!
-~{}~ 05.12.08 17:25:
Просьба сюда не посылать http://phpclub.ru/detail/article/2002-06-03 - не то.