BEGIN
DECLARE sTemp VARCHAR(20000);
DECLARE sTempChd VARCHAR(20000);
SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);
-- insert into tat(tat) values (sTempChd);
WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM gt_dept where FIND_IN_SET(superior,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
一、首先在写MySQL的递归查询时一直报错sTemp值超出,但是怎么给它加大也没有用,一直报下面的错误
Data truncated for column 'getChildLst('6c20df3a7294480cab85e7caacfdb869')' at row 1
经过多次的尝试发面,根本就不是递归写的有问题(中途尝试过修改递归的循环,但是错误不在此),后来重新阅读函数信息,发现我这里面的返回值类型一直设置为1000改到10000就OK了,走了八百里的冤枉路,总算解决了