问题现象
设置 group_concat_max_len 参数后,直接执行 SQL 导致执行报错:”source table
and destination table are not same”
drop table if exists td_calling_type_code_crm2qyzx2yzhy;
create table td_calling_type_code_crm2qyzx2yzhy(yn_vertical_type
varchar(20),crm_calling_type_name varchar(3000));
insert into td_calling_type_code_crm2qyzx2yzhy values('1',repeat('abcde',500));
set global group_concat_max_len=655360;
SELECT c.crm_calling_type_name_all
FROM td_calling_type_code_crm2qyzx2yzhy b
LEFT JOIN (
SELECT group_concat(crm_calling_type_name) crm_calling_type_name_all
,yn_vertical_type
FROM td_calling_type_code_crm2qyzx2yzhy
GROUP BY yn_vertical_type
,crm_calling_type_name
) c ON b.yn_vertical_type = c.yn_vertical_type;
解决方法:
set global group_concat_max_len 之后不退出直接执行 sql,不同 gn 层取到的值
不一样,导致创建临时表表结构不一致。修改全局配置项后需要退出当前会话,重
连生效。