Какова стратегия удаления дочерних записей из заданного идентификатора записи, когда таблица рекурсивно указывает на себя? В частности, я использую PDO, PHP и MySQL 5.0 +.
Представьте себе таблицу категорий с этими столбцами:
- id
- parent_id
- имя_категории
Если идентификатор равен 0, то этокорневая категория.Имейте в виду, что этот идентификатор не является первичным ключом - корневых категорий может быть много.
Представьте, что он имеет несколько уровней глубины, например, корневые категории "Пища и Укрытие", а затем их потомки и потомки тех, искоро.Это потомки.Если бы кто-то, скажем, удалил Овощи, то можно было бы ожидать, что Еда и Укрытие останутся корневыми категориями, но Морковь исчезнет, как и Бобы.Особняки и Каюты также будут оставлены позади, потому что они с другого дерева.Получите?
РЕДАКТИРОВАТЬ : Мой плохой - забыл столбец - parent_id.Это очень важно.