mysql 修改group_concat的限制(row 20000 was cut by group_concat())

使用group_concat时,如果行数太多,可能会报错:row 20000 was cut by group_concat()

解决方法是修改mysql中的group_concat_max_len,此值大于你要分组的数量即可

1.查看当前mysql group_concat_max_len

mysql> show variables like '%group_concat%';
+----------------------+---------+
| Variable_name        | Value   |
+----------------------+---------+
| group_concat_max_len | 200 |
+----------------------+---------+
1 row in set (0.00 sec)

2.修改group_concat_max_len

a)如果不方便重启mysql,可以在mysql状态通过命令设置,如:

SET GLOBAL group_concat_max_len=2000000;
SET SESSION group_concat_max_len=2000000;

注:此种方式在mysql重启后会读取配置文件重新设置,会导致设置失效,所以建议依旧要修改配置文件

b)修改配置文件,mysql 5.7版本的配置文件为:/etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]下新增配置:group_concat_max_len = 2000000

重启,通过方式1查看即可。

参考:https://www.cnblogs.com/jing1617/p/10641382.html

posted @ 2021-09-23 15:41  声声慢43  阅读(1595)  评论(0编辑  收藏  举报