介绍
这篇文章将为大家详细讲解有关mysql怎样查询子节点,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
mysql查询子节点的方法:首先创建菜单表,并插入数据,然后使用语句进行查询,代码为【从t1(选择选择id。id,如果(find_in_set (parent_id @pids)比;0……)】。
引用><强> mysql查询子节点的方法:强>
创建菜单表:
“菜单”(创建表 “id”int (11) NOT NULL AUTO_INCREMENT评论& # 39;菜单id # 39;, parent_id int(11)默认空评论& # 39;父节点id # 39;, menu_name的varchar(128)默认空评论& # 39;菜单名称& # 39;, ‘menu_url varchar(128)默认& # 39;& # 39;评论& # 39;菜单路径& # 39;, “状态”非常小的整数(3)默认& # 39;1 & # 39;评论& # 39;菜单状态1 -有效;0 -无效& # 39;, 主键(“id”) )引擎=InnoDB AUTO_INCREMENT=12212默认字符集=utf8;插入数据:
插入“菜单”值(& # 39;0 & # 39;,null, & # 39;菜单0 & # 39;,& # 39;& # 39;& # 39;1 & # 39;); 插入“菜单”值(& # 39;1 & # 39;& # 39;0 & # 39;,& # 39;菜单1 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;11 & # 39;& # 39;1 & # 39;,& # 39;菜单11 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;12 & # 39;& # 39;1 & # 39;,& # 39;菜单12 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;13 & # 39;& # 39;1 & # 39;,& # 39;菜单13 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;111 & # 39;& # 39;11 & # 39;,& # 39;菜单111 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;121 & # 39;& # 39;12 & # 39;,& # 39;菜单121 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;122 & # 39;& # 39;12 & # 39;,& # 39;菜单122 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;1221 & # 39;& # 39;122 & # 39;,& # 39;菜单1221 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;1222 & # 39;& # 39;122 & # 39;,& # 39;菜单1222 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;); 插入“菜单”值(& # 39;12211 & # 39;& # 39;1222 & # 39;,& # 39;菜单12211 & # 39;,& # 39;& # 39;,& # 39;1 & # 39;);得到的目录结构如下图所示:
查询
先贴出sql语句:
选择id从( 选择t1.id, 如果(find_in_set (parent_id @pids)比;0,@pids:=concat (& # 39;, @pids & # 39;, id),作为ischild 0) 从( 选择id, parent_id从re_menu t, t。由parent_id状态=1订单,id )t1, (选择@pids:=要查询的菜单节点id) t2 )t3 ischild !=0比如,要查询菜单节12点的所有子节点,则查处的结果为:
关于mysql怎样查询子节点就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。
mysql怎样查询子节点