mysql函数group_concat()返回结果不全怎么办
一、场景
mysql使用group_concat()
函数拼接返回字段时
发现返回结果数据不全
二、原因
是group_concat()
函数返回结果的字符数大于mysql参数group_concat_max_len
配置的最大字符长度
三、排查
查看group_concat_max_len配置
发现配置的字符长度只有4,确实太少
修改group_concat_max_len配置
a) 如果不方便重启mysql,可以通过以下命令进行配置修改
修改后再次通过命令进行查看
注:
如果不是通过
命令窗口
进行操作而是通过
Navicat Premium
、SQLyog
等软件进行配置的修改需要打开一个新的查询页面
执行
SHOW VARIABLES LIKE 'group_concat_max_len'
才能查询到最新的配置值
注:
以上方式在mysql重启后会读取配置文件重新设置
会导致设置失效
b) 修改mysql配置文件,永久生效
修改mysql配置文件:my.ini
或者my.cnf
注:
到底是修改
my.ini
还是my.cnf
具体看mysql用的是哪个根据实际情况选择
一般两者只会存在一个
在[mysqld]
下新增以下配置
保存后重启mysql服务