MYSQL-group_concat设置group_concat_max_len

MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即"," ,如果需要自定义分隔符可以使用 SEPARATOR

如:select group_concat(user_name SEPARATOR '_')  from sys_user

但是如果 user_name  拼接的字符串的长度字节超过1024 则会被截断。

mysql> show variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set

在MySQL配置文件中添加配置:group_concat_max_len = -1  (-1为最大值或根据实际需求设置长度),配置后需要重启MySQL服务,查看如下所示:

mysql> show variables like 'group_concat_max_len';
+----------------------+------------+
| Variable_name | Value |
+----------------------+------------+
| group_concat_max_len | 4294967295 |
+----------------------+------------+
1 row in set

 SET GLOBAL group_concat_max_len=-1;

 SET SESSION group_concat_max_len=-1;

 

注意写完后,记得查看下,我本地就是按照上面设计,结果value=4.... 只能

 SET GLOBAL group_concat_max_len=2048;

 SET SESSION group_concat_max_len=2048;

然后才是:

posted @ 2017-01-16 15:28  xiyohh  阅读(973)  评论(0编辑  收藏  举报