Data too long for column 'ids' at row 1

问题遇到的现象和发生背景

MySQL 第一次编写递归函数,调用后提示 Data too long for column 'ids' at row 1

问题相关代码,请勿粘贴截图

CREATE DEFINER=root@% FUNCTION get_parent_list(in_id varchar(10)) RETURNS varchar(1000) CHARSET utf8mb4
begin
declare ids varchar(21844);
declare tempid varchar(21844);

set tempid = in_id;
while tempid is not null do
set ids = CONCAT_WS(',',ids,tempid);
select region.ParentID into tempid from region where id=tempid;
end while;
return ids;
end

select * from region where FIND_IN_SET(id,get_parent_list('62'));
region表就是国内地区 有ID、ParentID 字段

img

我的解答思路和尝试过的方法

百度了很多方法都尝试了,都没用

varchar类型数值给的太大了,下面同理

img