最近在用mysql的group_concat()函数做多渠道树形结构查询,发现获取的渠道id不全
查来查去终于发现了一个巨坑,那就是group_concat()有长度限制1024。
解决方法一:
windows下在my.ini加上group_concat_max_len = 102400 //自己设置的值
linux在mysql.cof中加上group_concat_max_len =102400 //自己设置的值
linux或者在my.cnf中加入如下
[mysqld]
group_concat_max_len = 4294967295(也可以为-1最大值)
重启mysql服务,完美解决,
注,如果你的mysql安装目录下没有my.ini,那么你就自己创建一个,找找网上的配置文件只用加入:
group_concat_max_len = 4294967295
解决方法二:(不推荐,因为数据库重启后长度会重新变回1024)
//查看当前数据库的groupconcat长度
SHOW VARIABLES LIKE 'group_concat_max_len';
//执行以下语句修改成自己想要的长度
SET GLOBAL group_concat_max_len = 102400;
SET SESSION group_concat_max_len = 102400;