在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了。其实MYSQL内部对这个是有设置的,默认不设置的长度是1024。查看默认配置
show variables like "group_concat_max_len";
模板返回是
Variable_name Value group_concat_max_len 1024
如果是生产环境下,不能擅自重启MySQL服务,则可以通过语句设置group_concat的作用范围,如:
SET GLOBAL group_concat_max_len=-1; SET SESSION group_concat_max_len=-1;
group_concat_max_len = -1 (-1为最大值或根据实际需求设置长度)或执行sql
SET SESSION group_concat_max_len = 10240000;
group_concat()指定分隔符
GROUP_CONCAT(pro_name,'~',stime,'~',otime,'~',pro_price SEPARATOR ';')