MySQL group_concat_max_len
2015-10-13 15:45
513 查看
MySQL提供的group_concat函数可以拼接某个字段值成字符串,如 select group_concat(user_name) from sys_user,默认的分隔符是 逗号,即"," ,如果需要自定义分隔符可以使用 SEPARATOR
如:select group_concat(user_name SEPARATOR '_') from sys_user
但是如果 user_name 拼接的字符串的长度字节超过1024 则会被截断。
通过命令 "show variables like 'group_concat_max_len' " 来查看group_concat 默认的长度:
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
如果是生产环境下,不能擅自重启MySQL服务,则可以通过语句设置group_concat的作用范围,如:
SET GLOBAL group_concat_max_len=-1;
SET SESSION group_concat_max_len=-1;
如:select group_concat(user_name SEPARATOR '_') from sys_user
但是如果 user_name 拼接的字符串的长度字节超过1024 则会被截断。
通过命令 "show variables like 'group_concat_max_len' " 来查看group_concat 默认的长度:
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
如果是生产环境下,不能擅自重启MySQL服务,则可以通过语句设置group_concat的作用范围,如:
SET GLOBAL group_concat_max_len=-1;
SET SESSION group_concat_max_len=-1;
相关文章推荐
- Mysql 配置文件my.cnf详解
- MySQL Server 5.0–安装及配置/MySQLInstanceConfig.exe用法详解
- 【未完】Gearman分布式处理,mysql队列详解
- MySql:操作表的语句以及常用的字段类型
- mysql优化之参数优化
- mysql 方法或者存储过程执行慢的调试方法
- mysql分组排序
- mysql表连接总结
- MySQL与SQLServer的update left join语法区别
- Mysql5.5中设置utf-8编码、大小写、root启动的问题
- MySQL left join快 inner join慢
- ubuntu mysql5.5安装备忘
- 转:中国省/市/县三级联动MySQL数据
- MySQL Front很讨厌的 Row XX doesn't contain data for all columns错误
- MySQL分表方法
- MySql:操作数据库以及一些常用的命令
- MySQL分表和分区的区别
- CetOS6.5下编译安装Mysql5.6.16
- mycat+percona+keepalived+haproxy
- MySQL中EXPLAIN的解释