MySQL 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 则会被截断。

通过命令 "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;

时间: 2024-10-20 09:26:28

MySQL group_concat_max_len的相关文章

mysql性能优化之优化配置my.cnf文件

[client]#password = your_passwordport = 3306socket = /opt/mysql/dbdata/mysql.sock # The MySQL server[mysqld]port = 3306socket = /opt/mysql/dbdata/mysql.sockskip-external-lockingkey_buffer_size = 384Mmax_allowed_packet = 1Mtable_open_cache = 512 #sort

Chapter 5 MySQL Server Administration_1

Chapter 5 MySQL Server Administration Table of Contents 5.1 The MySQL Server 5.1.1 Configuring the Server 5.1.2 Server Configuration Defaults 5.1.3 Server Option and Variable Reference 5.1.4 Server Command Options 5.1.5 Server System Variables 5.1.6

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

MySQL 5.7.10最新版本源代码安装详细过程

1,下载地址: 安装包下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz 可以wget下载,也可以在pc本地网页上下载完再远程传到linux上面去. 安装文档地址:http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html 文档干货在这里: # Preconfiguration setup shell> groupadd

MySQL group_concat 1024 大小

1. GROUP_CONCAT有个最大长度的限制,超过最大长度就会被截断掉,你可以通过下面的语句获得: SELECT @@global.group_concat_max_len; show variables like "group_concat_max_len"; 2.在MySQL配置文件中my.conf或my.ini中添加: #[mysqld] group_concat_max_len=102400 3.重启MySQL服务

mysql中的各种concat

引用:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html 一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串.使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name   |+----+--------+|  1 | BioCyc |+----+--------+1.语法及使用特点:CONCA

MySql中的变量定义

MySql中的变量定义 根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一般用在sql语句块中,比如存储过程的begin/end.其作用域仅限于该语句块,在该语句块执行完毕后,局部变量就消失了. 局部变量一般用declare来声明,可以使用default来说明默认值. 例如在存储过程中定义局部变量: drop procedure if exists

一个命令查看mysql的所有配置(原创)

在mysql的命令提示符下,执行下面一句话: mysql> show global variables 得到: 上表的文本内容: "Variable_name" "Value" "auto_increment_increment" "1" "auto_increment_offset" "1" "autocommit" "ON" "

mysql show variables系统变量详解

mysql系统变量详解 mysqld服务器维护两种变量.全局变量影响服务器的全局操作.会话变量影响具体客户端连接相关操作. 服务器启动时,将所有全局变量初始化为默认值.可以在选项文件或命令行中指定的选项来更改这些默认值.服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量.要想更改全局变量,必须具有SUPER权限. 服务器还为每个客户端连接维护会话变量.连接时使用相应全局变量的当前值对客户端会话变量进行初始化.客户可以通过SET SESSION var