mysql的 group_concat() 函数默认返回1024个字节长度,超过长度的会被截断。最近程序中就遇到这个问题了。
通过如下命令可以查看到当前mysql系统的参数:
mysql> show variables like "%concat%";
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.00 sec)
- 有两个方法可以设置
group_concat_max_len的值
-
在
/etc/my.cnf中的[mysqld]加上group_concat_max_len = 1024000,需要重启mysql才能生效 -
在命令行下输入:
-- 全局生效,需要管理员权限 SET GLOBAL group_concat_max_len=1024000;或者
-- 当前会话生效 SET SESSION group_concat_max_len=1024000;