mysql 根據父id 遞迴查詢所有的子類
阿新 • • 發佈:2018-12-12
1、mysql中建立遞迴查詢方法
-- DROP FUNCTION `getChildrenOrg` CREATE FUNCTION `getChildrenOrg`(uuid INT) RETURNS text CHARSET utf8 BEGIN DECLARE sTemp text; DECLARE sTempChd text;
SET sTemp = '$'; SET sTempChd =cast(uuid as CHAR); WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd); SELECT group_concat(id) INTO sTempChd FROM tb_club_member where FIND_IN_SET(parentId,sTempChd)>0;
END WHILE; RETURN sTemp; END
以上text型別可以改成varchar(1000),如果id長度太長,建議使用text
2、如果查詢(查詢id為2的所有子類資訊)
SELECT * FROM tb_club_member WHERE FIND_IN_SET(id,getChildrenOrg('2'))