群里有人问道group concat时报错,看了下文档,是因为group_concat_max_len参数的原因。
于是做如下修改。
在使用group_concat函数时,如果字符串长度超过了默认值1024,会报错。在MySQL配置文件(my.cnf)中默认无该配置项,使用默认值时,值为1024,可在客户端执行下列语句修改:
#该语句执行后重启客户端即可使修改生效。
SET GLOBAL group_concat_max_len = 1024;
如果我们使用如下命令:
show variables like "group_concat_max_len";
可以查看到已经修改成功,该语句在执行后,MySQL重启前一直有作用,但是MySQL一旦重启,则会恢复默认的设置值。
如果要彻底修改,在MySQL配置文件(my.cnf)中加上如下语句:
#-1为最大值或填入你要的最大长度
group_concat_max_len = -1
然后重启mysql,在客户端执行如下语句:
show variables like "group_concat_max_len";
如果为自己修改的值或4294967295(设置为-1时)则修改正确。
最后,建议不要把此参数设置太大,满足应用要求即可。
该贴被Robin编辑于2014-9-30 16:37:21该贴被Robin编辑于2014-9-30 16:40:12该贴由hui.chen转至本版2014-11-5 16:17:03
该贴由hui.chen转至本版2014-11-5 16:22:19