最近在用mysql的group_concat()函数查询多行数据,给它合并成一个字符串,然后在前端页面再解析这个字符串。
今天突然发现返回的结果就是不全,特别奇怪,花了好久查来查去终于发现了一个巨坑,那就是group_concat()有长度限制1024。
解决方法:
windows下在my.ini加上group_concat_max_len = 10240(一个你自己设置的值)
linux在mysql.cof中加上group_concat_max_len =10240(一个你自己设置的值)
重启mysql服务,完美解决,
注,如果你的mysql安装目录下没有my.ini,那么你就自己创建一个,找找网上的配置文件只用加入:
[mysqld]
group_concat_max_len = 10240
就好了,其他的还是默认值。
如果你目录下有my-default.ini。那就把my-default.ini复制一份,然后改名叫my.ini。