mysql group_concat函数被截断的问题

679 阅读1分钟

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)
  1. 有两个方法可以设置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;