MySQL遞歸獲取傘下所有ID函數

需要在MySQL數據庫中配置

group_concat_max_len = 4294967295

函數如下:

CREATE DEFINER=`root`@`%` FUNCTION `queryChilds`(`uid` varchar(32)) RETURNS longtext CHARSET utf8
BEGIN
DECLARE sTemp LONGTEXT;
DECLARE sTempChd LONGTEXT;

SET sTemp = '';
SET sTempChd = uid;

WHILE sTempChd is not NULL DO
SET sTemp = CONCAT(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM t_user where FIND_IN_SET(referrer,sTempChd)>0;
END WHILE;
return sTemp;
END
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章