首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择mysql中邻接表模型所表示的任意深度的树?

选择mysql中邻接表模型所表示的任意深度的树?
EN

Stack Overflow用户
提问于 2010-06-11 03:08:23
回答 2查看 337关注 0票数 1

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

代码语言:javascript
复制
MYTREE
   id
   parent_id
   title

我想知道:

给定一个节点的id,有没有办法选择对该节点有好处的整个树,以及深度信息?这棵树是任意深的,所以我不能说有多少层。但结果集可能如下所示:

代码语言:javascript
复制
ID      TITLE     DEPTH
4       title1    1
8       title2    2
16      title8    3
9       title3    2
15      title4    3

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

谢谢你的建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-11 03:16:12

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

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

但是嵌套集合有什么不理想的地方(至少这不是before insert触发器或存储过程所能处理的)?

票数 0
EN

Stack Overflow用户

发布于 2010-06-11 03:14:11

简短的回答是:不。

遍历用父指针表示的树的唯一方法是跟随一组接一组的父ID。如果您可以限制深度,那么这是可能的,只需在表中连接那么多次,但如果深度不受限制,应用程序端循环通常是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3017611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档