设计一个数据库的表来存储树形结构

发布于 2023-06-11 20:06:41 字数 1332 浏览 48 评论 0

要求:

  • 输入父节点返回所有子节点
  • 输入某节点返回所有兄弟节点

表名:tree

字段:

  • id:节点 ID
  • name:节点名称
  • parent_id:父节点 ID(如果是根节点,则 parent_id 为 NULL)
  • path:节点路径(用逗号分隔的节点 ID 路径,例如:1,2,3 表示该节点为跟节点的第二级子节点的第三级子节点)
  • level:节点层级(跟节点为 0 级,其子节点为 1 级,以此类推)

示例数据:

idnameparent_idpathlevel
1RootNULL10
2Child111,21
3Child211,31
4Grand121,2,42
5Grand221,2,52
6Grand331,3,62
7Grand431,3,72
8Grand561,3,6,83
9Grand671,3,7,93

查询所有子节点:

SELECT * FROM tree WHERE parent_id = {父节点 ID}

查询所有兄弟节点:

SELECT * FROM tree WHERE parent_id = {该节点的父节点 ID} AND id != {该节点 ID}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

聊慰

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

13886483628

文章 0 评论 0

流年已逝

文章 0 评论 0

℡寂寞咖啡

文章 0 评论 0

笑看君怀她人

文章 0 评论 0

wkeithbarry

文章 0 评论 0

素手挽清风

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文