首页 >php教程 >php手册 > 正文

Mysql 遍历树方法

原创2020-10-23 14:00:120259
Mysql遍历一个节点下面的所有子节点的方法。
在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。
参考地址:http://blog.csdn.net/ACMAIN_CHM/article/details/4142971CREATE DEFINER=`root`@`localhost` FUNCTION `getChildLst`(`rootId` VARCHAR(100)) RETURNS varchar(2000) CHARSET utf8
BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);
SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM hp_node where FIND_IN_SET(pid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
Mysql使用方法:SELECT *
FROM hp_node
WHERE FIND_IN_SET( id, getChildLst( 2 ) )
ThinkPHP使用方法:$model = D('Node');
$list = $model->where('FIND_IN_SET( id, getChildLst('.$startId.'))')->select();

AD:真正免费,域名+虚机+企业邮箱=0元

以上就是Mysql 遍历树方法的详细内容,更多请关注php学习网其它相关文章!

phpStudy Linux 面板(小皮面板)

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    php学习网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类