MySQL рекурсивная замена запросов в PHP

0

Так как похоже, что рекурсивные запросы в MySQL не возможны, мне интересно, есть ли решение получить ту же информацию, которая также ограничивает количество запросов, которые я делаю в базе данных. В моем случае у меня есть то, что составляет дерево, и дано node, я делаю путь назад к корню и сохраняю имя узлов по мере того, как я иду. Для таблицы такой:

 id | parent
-------------
 1  |   
 2  |   1
 3  |   1
 4  |   2
 5  |   2
 6  |   5

Я хочу выбрать все идентификаторы на пути от 6 до 1 (6,5,2,1). Поскольку общая длина пути неизвестна, я бы предположил, что единственный способ сделать это - взять результаты из одного запроса и построить новый запрос, пока я не вернусь к корню. Затем снова прошло пару лет с тех пор, как я в последний раз использовал MySQL, поэтому меня это не удивит, если я немного оторвусь. Любая помощь будет оценена по достоинству.

Теги:
select
recursive-query

1 ответ

1
Лучший ответ

Поскольку в mySQL не существует рекурсивных запросов

mySQL не поддерживает оператор CONNECT BY, true - но вы можете реализовать рекурсивные процедуры/функции с помощью mysql и возвращать наборы результатов из них.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню