mysql函數(shù)group_concat()返回結(jié)果不全問題
一、場景
mysql使用group_concat()
函數(shù)拼接返回字段時(shí)
發(fā)現(xiàn)返回結(jié)果數(shù)據(jù)不全
二、原因
是group_concat()
函數(shù)返回結(jié)果的字符數(shù)大于mysql參數(shù)group_concat_max_len
配置的最大字符長度
三、排查
查看group_concat_max_len配置
SHOW VARIABLES LIKE 'group_concat_max_len'
發(fā)現(xiàn)配置的字符長度只有4,確實(shí)太少
修改group_concat_max_len配置
a) 如果不方便重啟mysql,可以通過以下命令進(jìn)行配置修改
SET GLOBAL group_concat_max_len = 102400
修改后再次通過命令進(jìn)行查看
注:
- 如果不是通過
命令窗口
進(jìn)行操作 - 而是通過
Navicat Premium
、SQLyog
等軟件進(jìn)行配置的修改 - 需要打開一個新的查詢頁面
- 執(zhí)行
SHOW VARIABLES LIKE 'group_concat_max_len'
才能查詢到最新的配置值
注:
- 以上方式在mysql重啟后會讀取配置文件重新設(shè)置
- 會導(dǎo)致設(shè)置失效
b) 修改mysql配置文件,永久生效
修改mysql配置文件:my.ini
或者my.cnf
注:
- 到底是修改
my.ini
還是my.cnf
具體看mysql用的是哪個 - 根據(jù)實(shí)際情況選擇
- 一般兩者只會存在一個
在[mysqld]
下新增以下配置
group_concat_max_len = 102400
保存后重啟mysql服務(wù)
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Lost connection to MySQL server at ''reading authorization p
這篇文章主要介紹了Lost connection to MySQL server at 'reading authorization packet', system error: 0錯誤解決方法,需要的朋友可以參考下2014-08-08MySQL數(shù)據(jù)庫常用操作和技巧(DBA必備知識)
MySQL數(shù)據(jù)庫可以說是DBA們最常見和常用的數(shù)據(jù)庫之一,為了方便大家使用,老MySQL DBA總結(jié)了MySQL數(shù)據(jù)庫最常見和最常使用的一些經(jīng)驗(yàn)和技巧,與分享大家!2011-03-03mysql出現(xiàn)ERROR 1819 (HY000)的解決方法
這篇文章主要為大家詳細(xì)介紹了mysql出現(xiàn)ERROR 1819 (HY000)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析
這篇文章主要介紹了Mysql數(shù)據(jù)表分區(qū)技術(shù)PARTITION淺析,分別介紹了 Mysql 中的分區(qū)技術(shù) RANGE、LIST、 HASH,需要的朋友可以參考下2014-06-06