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)行配置的修改 - 需要打開一個(gè)新的查詢頁面
- 執(zhí)行
SHOW VARIABLES LIKE 'group_concat_max_len'才能查詢到最新的配置值
注:
- 以上方式在mysql重啟后會(huì)讀取配置文件重新設(shè)置
- 會(huì)導(dǎo)致設(shè)置失效
b) 修改mysql配置文件,永久生效
修改mysql配置文件:my.ini或者my.cnf
注:
- 到底是修改
my.ini還是my.cnf具體看mysql用的是哪個(gè) - 根據(jù)實(shí)際情況選擇
- 一般兩者只會(huì)存在一個(gè)

在[mysqld]下新增以下配置
group_concat_max_len = 102400

保存后重啟mysql服務(wù)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySql總彈出mySqlInstallerConsole窗口的解決方法
這篇文章主要介紹了MySql總彈出mySqlInstallerConsole窗口的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
mysql啟動(dòng)報(bào)錯(cuò)MySQL server PID file could not be found
這篇文章主要介紹了mysql啟動(dòng)報(bào)錯(cuò)MySQL server PID file could not be found,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
MySQL高速緩存啟動(dòng)方法及參數(shù)詳解(query_cache_size)
這篇文章主要介紹了MySQL高速緩存啟動(dòng)方法及參數(shù)詳解(query_cache_size),需要的朋友可以參考下2014-12-12
有效查詢MySQL表中重復(fù)數(shù)據(jù)的方法和技巧分享
在MySQL數(shù)據(jù)庫中,偶爾會(huì)遇到需要查找表中出現(xiàn)的重復(fù)數(shù)據(jù)的情況,這種情況下,我們可以通過編寫一些SQL查詢語句輕松地找到并處理這些重復(fù)行,本文將介紹一些常見的方法和技巧,幫助你有效地查詢MySQL表中的重復(fù)數(shù)據(jù),需要的朋友可以參考下2023-10-10

