Php 如何在SQL中搜索子节点
假设我有一个名为Tags的表,它有一个id列m name列和一个parent_id列。许多标记都使用parent_id列嵌套。如何检查标记A是否将标记B作为非直接子项 之前,我选择了所有具有当前标记的父元素id的标记,然后得到结果并对任何子元素重复 如何更有效地获取与搜索匹配且是直接子项或非直接子项的所有标记 谢谢你的帮助,Php 如何在SQL中搜索子节点,php,mysql,sql,Php,Mysql,Sql,假设我有一个名为Tags的表,它有一个id列m name列和一个parent_id列。许多标记都使用parent_id列嵌套。如何检查标记A是否将标记B作为非直接子项 之前,我选择了所有具有当前标记的父元素id的标记,然后得到结果并对任何子元素重复 如何更有效地获取与搜索匹配且是直接子项或非直接子项的所有标记 谢谢你的帮助, Jason而不是在评论中讨论。。。以下是我的建议: 如果您想坚持使用MySQL,但可以使用数据库的结构,那么Bill Karwin建议的“”模式绝对是可行的。它允许您将数
Jason而不是在评论中讨论。。。以下是我的建议:
- 如果您想坚持使用MySQL,但可以使用数据库的结构,那么Bill Karwin建议的“”模式绝对是可行的。它允许您将数据保存在平面表设计中,同时将多级树结构抽象到单独的表中,以便于数据提取
- 如果您想尝试不同的关系数据库系统,那么您可以尝试Microsoft免费提供的系统。在完全公开的情况下,我不使用这个,所以我不知道排除了什么功能(而且我确信有些东西是免费的,否则你不会免费得到它)。因此,请进行一些研究,以确保
(递归
)可用。如果是,那么您可以使用PinalDave的使用CTE的递归SQL技术CTEs
- 否则,如果您认为只有少数几个级别可以使用,则可以使用和硬编码级别数