Автор Тема: удаление елемента дерева  (Прочитано 2496 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
удаление елемента дерева
« : 21 Февраля 2004, 14:41:46 »
у меня есть таблица (напр.)-
uid           parent_uid          name
1                   0                 спорт
2                   1                 бокс
3                   2                 професиональный
4                   2                 любительский

как видите много уровней. моя задача - удаляя спорт (ід=1) - удалить все поделементы (всю ветвь). На моем примере удаляя спорт с бд нужно удалить все.
Здесь нужно использовать рекурсию. Я думаю решать это так = выбрать все поделементы (только uid) в массив и тогда прокрутить массив и удалить все записи с этими uid.

Но может есть идеи получше? Может можно прямо в рекурсии удалять, или другой способ?
Жду советов. спасибо.
Life is Good

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
удаление елемента дерева
« Ответ #1 : 21 Февраля 2004, 15:15:10 »
Моё мнение (при существующей структуре):
рекурсивной функцией с SELECTом собирать IDшники записей, которые надо удалить, а потом - один DELETE.

Оффлайн Enemy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 204
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.lutsiv.com
удаление елемента дерева
« Ответ #2 : 21 Февраля 2004, 15:17:41 »
понял. ну я так и думал...
Life is Good

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28