当前位置: 首页 > 面试题库 >

MySQL递归?

燕禄
2023-03-14
问题内容

考虑一个这样的表:

   folders_table
   -----------------------
      INT id_folder
      INT id_folder_parent
      VARCHAR folder_name

其中存储了一个简单的目录结构。如何通过单个SELECT查询获得目录的所有子目录?


问题答案:

可以,但是您需要更改数据库结构;进行更改后,您可以在一个查询中检索任意深度的树。查询稍微复杂一些,但是仍然非常简单。

  • 在数据库(SitePoint)中存储分层数据 -本文是分步进行的,非常清楚。
  • 在MySQL中管理分层数据 -与上述内容不同。


 类似资料:
  • 问题内容: 我有一组按层次结构组织的数据,应该可以增长到任意大小。我需要检索整个树,但是我无法弄清楚如何仅使用SQL来完成。我当前的解决方案是创建一个临时表,并使用递归函数依次查询树的分支,然后将结果存储在临时表中,随后我再次对其进行查询以产生所需的结果。 我的问题是,从本质上讲,我正在执行的联接正确吗?构造一个中间表,然后查询结果。似乎应该有一种使用联接的方法,但是MySQL文档仅涵盖检索有限深

  • 问题内容: 我看到了这个答案,我希望他是不对的,就像有人不正确地告诉主键在一个列上,而我不能在多个列上设置它一样。 这是我的桌子 我想选择用户ID 2并递归,以便获得其所有直接子对象和间接子对象(即ID 4和5)。 如何以这种方式工作?我在postgresql和sqlserver中看到了递归。 问题答案: 看起来很麻烦,但是要使用它, (或您要在层次树中查找的任何密钥ID)。 前提是从您正在使用的

  • 问题内容: (希望)对某些人来说,这是一个非常简单的问题。 我有一个来自mySQL数据库的递归菜单,现在我的主要问题是: 创建URL的最佳方法是什么?我希望输入每行的标题,例如/ eggs / milk / bacon /。鸡蛋处于0级,例如:鸡蛋0,牛奶1,培根2。关于如何动态输出此内容的任何想法? 对于“ cletus”所说的这个问题,我几乎要去做些评论:PHP / MySQL- 建立导航菜单

  • 问题内容: 我有一个将位置链接在一起的数据库表;一个位置可以在一个位置,也可以在另一个位置内。 这是深入探讨MySQL / PHP的深度: 在给定父级位置的情况下,如何使用MySQL如何获得其所有后代位置,无论深度如何? 问题答案: mysql.com上有 一篇漂亮的文章 ,概述了管理分层数据的各种方法。我认为它为您的问题提供了完整的解决方案,并显示了各种不太简单但较快的方法(例如嵌套集)。

  • 问题内容: 我正在尝试制作一个可为特定类别递归构建路径的函数 当我尝试使用没有父项的类别(parent_id = 0)运行此函数时,它可以正常工作,但是当我尝试使用parent_id> 0的类别时,我得到1424递归存储的函数和触发器是不允许的。 我该如何解决?我将在常规的Web托管服务上托管此代码,该服务至少应具有MySQL服务器版本5.1。 在Ike Walker的帮助下,我做了一个程序,但是

  • 问题内容: 我是mysql的新手。这是我的桌子: 类别表: 每个类别都有一个父项,我想准备它们以显示在下拉菜单中。 这就是我想要得到的: 在这里,类别没有顺序,我的代码必须为远离父母的孩子类别提供顺序。根据每个类别的父母的深度提供姓名前的缩进。每个类别的孩子数没有限制,但是类别总数不超过100。 有没有查询可以给出这样的结果?我更喜欢可以在PHP框架中以活动记录形式运行的查询。 问题答案: 这个