如何用mysql存一棵树_mysql 使用存储过程实现树节点的获取方法

如图:

23ae5f59c7b5ecc494f90af147f46330.png

表数据

aecbc52bbea3169cb0bb4cda421a9669.png

这样的一棵树,如何获取“高寅瑞”下的所有节点(一条sql语句是肯定搞不定的)

通过存储过程来写

DELIMITER //

CREATE FUNCTION `getChildLst`(rootId INT)

RETURNS varchar(1000) READS SQL DATA

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 document_file_name where FIND_IN_SET(pId,sTempChd)>0;

END WHILE;

RETURN sTemp;

END //

创建如上存储过程

select * from document_file_name where find_in_set(id, getChildLst(1));

326a5ff3c2d2d808bdc378f77cb59fa0.png

总结

到此这篇关于mysql 使用存储过程实现树节点的获取的文章就介绍到这了,更多相关mysql 存储过程树节点获取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值