mysql中遞歸查詢的實現


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解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM