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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM