• 坑!!!MySQL之group_concat_max_len


    SQL查询中,会碰到将group by之后的数据拼接成字符串的场景。这时就该GROUP_CONCAT函数出马了,不得不说,好用是真好用,但是坑也是真坑。

    因为默认GROUP_CONCAT函数返回的结果大小被MySQL默认限制为1024(字节)的长度。

    这时就需要修改 group_concat_max_len 参数到需要的大小,比如102400,扩大一百倍。修改的方式有两种:

     方法一:在MySQL的配置文件中加入如下配置(推荐):

    group_concat_max_len = 102400

    方法二:更简单的操作方法,执行SQL语句:

    SET GLOBAL group_concat_max_len = 102400;
    
    SET SESSION group_concat_max_len = 102400;

    ps:该方法缺点是重启服务后设置失效。只适合没有权限操作数据库服务器,但是又必修使用GROUP_CONCAT返回超过1024长度的情况

    -----------------------------------------------------------------------我是结束分割线,但是如果你实在无聊,也可以继续往下看--------------------------------------------------------------------------------------------------------------------------

    另外,设置“group_concat_max_len = -1”则为最大值,group_concat_max_len 的最大值为4294967295 (2^32 - 1)字节,一般也用不到。

    至于MySQL为什么限制group_concat_max_len 的大小,不得而知,希望知道大神不吝赐教

  • 相关阅读:
    PyPi 是什么
    Python 项目结构
    Python 四舍五入函数 round
    Discourse 备份时间的设置
    Discourse 如何限制存储到 S3 的备份文件数量
    PHP中关于 basename、dirname、pathinfo 详解
    PHP中的魔术方法和关键字
    PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
    mysql cursor游标的使用,实例
    mysql 存储过程
  • 原文地址:https://www.cnblogs.com/zjfblog/p/13658936.html
Copyright © 2020-2023  润新知