【问题标题】:Alternative to MySQL's GROUP_CONCAT functionMySQL 的 GROUP_CONCAT 函数的替代方案
【发布时间】:2017-01-12 01:10:05
【问题描述】:

我正在使用名为“GROUP_CONCAT()”的 MySQL 函数检索数据。

但是当我检查“GROUP_CONCAT()”函数相关列的结果时,它丢失了一些数据。

当我在官方 MySQL 网站中使用“GROUP_CONCAT()”函数搜索记录丢失问题时,他们提到了,

有一个名为group_concat_max_len 的全局变量,它将允许 GROUP_CONCAT() 函数的最大结果长度(以字节为单位),默认值为 1024。

因此,我似乎必须使用以下 MySQL 命令来增加该值,

SET GLOBAL group_concat_max_len = 1000000;

因此永久设置此值,我必须编辑 MySQL 服务器相关的配置文件(my.cnf 或 my.ini)并且必须重新启动服务器。

但不幸的是,我没有任何权限这样做。

因此,请您帮我找出一些替代解决方案来解决此问题。

非常感谢。

【问题讨论】:

    标签: mysql global-variables configuration-files restart group-concat


    【解决方案1】:

    改用SET SESSION

    SET SESSION group_concat_max_len = 1000000;
    

    SET GLOBAL 不同,SET SESSION 不需要超级权限。

    Reference

    【讨论】:

    • 我可以知道'group_concat_max_len' 相关的新设置值是否会重置为默认值(1024),如果 MySQL 服务器将来会重新启动?
    • SET SESSION 将持续到您当前的会话。如果你想长期设置,你应该联系有管理员权限的人使用SET GLOBAL为你设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多