mysql7笔记----遍历节点所有子节点
mysql遍历节点的所有子节点 DELIMITER // CREATE FUNCTION `getChildrenList`(rootId INT) RETURNS VARCHAR(500) BEGIN DECLARE sTemp VARCHAR(500); 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 employees WHERE FIND_IN_SET(parent_id,sTempChd)>0; END WHILE; RETURN sTemp; END SELECT getChildrenList(2);
FIND_IN_SET(str,strlist): 假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间,否则返回0
GROUP_CONCAT(id) INTO sTempChd:把无重复id放进sTempChd:
--------------------------------------------------------------------------------------------------------------------------------------------
作者:Honey_Badger —— 觉得这文章好,点一下左下角
出处:http://tk55.cnblogs.com/
posted on 2019-04-04 08:52 Honey_Badger 阅读(478) 评论(0) 编辑 收藏 举报