今天早上,同事给我发了段sql,说这个sql在合并字符串时,不知道什么原因,最后被截断了,后面还有一些字符没有合并进去。
后来,他说他找到了解决方法,就是设置一个全局的变量group_concat_max_len。
先来看看,这个变量的初始值是多少:
mysql> show variables like 'group%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.03 sec)
显然,如果要合并的字符比较多,就会造成截断。
所以,修改为10240,一般就够用了:
mysql>set global group_concat_max_len=10240;
Query OK, 0 rows affected (0.03 sec)
mysql>select @@group_concat_max_len;
+------------------------+
| @@group_concat_max_len |
+------------------------+
| 1024 |
+------------------------+
1 row in set (0.02 sec)