0

由于在 MySQL 中似乎不可能进行递归查询,我想知道是否有一种解决方案可以获取相同的信息,这也限制了我对数据库进行的查询数量。在我的情况下,我有相当于一棵树并给定一个节点,我创建一条返回根的路径并在我去的时候保存节点的名称。给定这样的表:

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

我想选择从 6 回到 1 (6,5,2,1) 的路径上的所有 id。由于路径的总长度是未知的,我假设这样做的唯一方法是从一个查询中获取结果并构建一个新查询,直到我回到根节点。再说一次,自从我上次使用 MySQL 以来已经有几年了,所以如果我有点脱节,我也不会感到惊讶。任何帮助,将不胜感激。

4

1 回答 1

1

因为看起来在 mySQL 中不可能进行递归查询

mySQL 不支持 'CONNECT BY' 运算符,但您可以使用 mysql 实现递归过程/函数并从中返回结果集。

于 2011-03-23T12:14:43.773 回答