php - SELECT 一个任意深的树,用mysql中的邻接表模型表示?

标签 php mysql nested-sets adjacency-list

在 mysql 中,我有一个使用邻接表模型表示的树。

MYTREE
   id
   parent_id
   title

我在想:

给定一个节点的 ID,是否有任何方法可以选择该节点下的整棵树,包括深度信息?这棵树是任意深的,所以我不能说可能有多少层。但结果集可能看起来像这样:

ID      TITLE     DEPTH
4       title1    1
8       title2    2
16      title8    3
9       title3    2
15      title4    3

我知道使用嵌套集模型可以做到这一点。但是嵌套集有些事情并不理想,我希望不必切换。

多谢指教!

最佳答案

编辑:我没有注意到标题中任意深的子句:

您可以编写一个存储过程来递归行。

但是嵌套集有什么不理想的地方(至少插入前触发器或存储过程无法处理)?

关于php - SELECT 一个任意深的树,用mysql中的邻接表模型表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3017611/

相关文章:

php - 将字符串转换为嵌套数组

php - 令人费解的 php 递归

Mysql:此非标准 ID 字段的最佳类型

python - Django user.save() 在列 'is_superuser' 上失败不能为空

ruby-on-rails-3 - Rails3 : Avoiding select n+1 with the Ancestry Gem?

mysql - 邻接表到嵌套集的转换

php - 在 XSLT 中,您可以在动态创建的元素上使用 XPath 吗?

Mysql #1064 - varchar 字段上的语法错误

mysql - mySQL 中带有左连接的嵌套集

php - 将嵌套对象链存储在变量中