MySQL的递归查询的树表的子节点和父节点的具体实施
表结构和表数据不公开。查询的表user_role是ID,和主键ParentID。每个记录都有父字段(对于应该记录的父节点,当然,父节点自然有多个子节点)。
复制代码代码如下所示:
创建功能` getchildlist `(rootid int)
返回varchar(1000)
开始
声明schildlist varchar(1000);
声明schildtemp varchar(1000);
集schildtemp =铸造(rootid焦炭);
而schildtemp不是空做
如果(schildlist不为空的话)
集schildlist = concat(schildlist,',',schildtemp);
其他的
集schildlist = concat(schildtemp);
最后如果;
选择group_concat(ID)从user_role哪里find_in_set为schildtemp(ParentID,schildtemp)> 0;
结束的时候;
返回schildlist;
结束;
获取子节点
电话:1,选择 / * getchildlist(0)身份证;2、选择5from user_role哪里find_in_set(ID,getchildlist(2));* /
创建功能` getparentlist `(rootid int)
返回varchar(1000)
开始
声明sparentlist varchar(1000);
声明sparenttemp varchar(1000);
集sparenttemp =铸造(rootid焦炭);
而sparenttemp不是空做
如果(sparentlist不为空的话)
SET sParentList = concat (sParentTemp, ',', sParentList);
其他的
SET sParentList = concat (sParentTemp);
最后如果;
选择group_concat(ParentID)从user_role哪里find_in_set为sparenttemp(ID,sparenttemp)> 0;
结束的时候;
返回sparentlist;
结束;
获取父节点
电话:1,选择 / * getparentlist(6)身份证;2、选择*从user_role哪里find_in_set(ID,getparentlist(2));* /
不完成,PM存储结构表示,检查几次在java…存储结构具有许多优点,包括加快查询速度,提高安全性,但会增加数据库的负担。许多文章都指出,如果两者结合起来,个人就不会那么有用了。