发布时间:2018-01-10 16:18:38编辑:丝画阁阅读(782)
根据父节点查找所有的子节点
创建函数getChildrenList
SQL语句如下:
delimiter //
CREATE FUNCTION `getChildrenList`(rootId INT)
RETURNS varchar(1000)
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);
SELE CT group_concat(id) INTO sTempChd FROM province where FIND_IN_SET(pid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END //
delimiter ;
执行查询语句:select * from province where FIND_IN_SET(id,getChildrenList(1))
根据项目开发过程中遇到的问题来看,这种方式对mysql版本有要求。最好是5.5以上版本。
关键字:
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】