美文网首页
MYSQL中group_concat有长度限制!默认1024

MYSQL中group_concat有长度限制!默认1024

作者: 安易学车 | 来源:发表于2017-07-14 15:43 被阅读0次

    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;

    相关文章

      网友评论

          本文标题:MYSQL中group_concat有长度限制!默认1024

          本文链接:https://www.haomeiwen.com/subject/wjfohxtx.html