4

我有一个如下所示的数据库表:

id | parent_id | status
1  | null      | 1
2  | null      | 0
3  | null      | 1
4  | 2         | 1
5  | 4         | 1

所以,正如你所看到的,我们有一些类别是彼此的孩子,而且深度是无限的。

我想知道的是,有没有一种简单的方法可以找出特定树中的任何父母是否为status0?

我知道如果有一个固定的深度,那么我可以做那么多连接,然后用它Min(status)来找出它们中的任何一个是否设置为 0,但我不知道如何在未定义深度的情况下做到这一点?

4

1 回答 1

0

使用您正在使用的邻接列表模型是不可能的,因为您需要递归地向上遍历图形,这是 MySQL 无法做到的。您应该考虑将数据切换到嵌套集模型,您可以在其中轻松获取到根的路径。

于 2012-10-06T04:25:15.593 回答