码迷,mamicode.com
首页 > 数据库 > 详细

mysql中递归查询的实现

时间:2018-01-05 15:47:41      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:operator   keyword   mysql   pid   char   like   log   div   查看   

1,执行如下代码即可实现递归查询:
delimiter //
CREATE FUNCTION `getParLst`(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);
SELECT group_concat(id) INTO sTempChd FROM treeNodes where FIND_IN_SET(pid,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
//

2,如果有报错,请查询log_bin
例如:
SHOW VARIABLES LIKE ‘log_bin_trust_function_creators‘;
解决方法, 在mysql中执行如下语句:
SET GLOBAL log_bin_trust_function_creators=TRUE;
再查看
SHOW VARIABLES LIKE ‘log_bin_trust_function_creators‘;

OK解决!

mysql中递归查询的实现

标签:operator   keyword   mysql   pid   char   like   log   div   查看   

原文地址:https://www.cnblogs.com/chenhuan821361335/p/8203534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!