mysql函數(shù)group_concat()返回結(jié)果不全問(wèn)題
一、場(chǎng)景
mysql使用group_concat()函數(shù)拼接返回字段時(shí)
發(fā)現(xiàn)返回結(jié)果數(shù)據(jù)不全
二、原因
是group_concat()函數(shù)返回結(jié)果的字符數(shù)大于mysql參數(shù)group_concat_max_len配置的最大字符長(zhǎng)度
三、排查
查看group_concat_max_len配置
SHOW VARIABLES LIKE 'group_concat_max_len'
發(fā)現(xiàn)配置的字符長(zhǎng)度只有4,確實(shí)太少

修改group_concat_max_len配置
a) 如果不方便重啟mysql,可以通過(guò)以下命令進(jìn)行配置修改
SET GLOBAL group_concat_max_len = 102400
修改后再次通過(guò)命令進(jìn)行查看

注:
- 如果不是通過(guò)
命令窗口進(jìn)行操作 - 而是通過(guò)
Navicat Premium、SQLyog等軟件進(jìn)行配置的修改 - 需要打開(kāi)一個(gè)新的查詢頁(yè)面
- 執(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
Linux平臺(tái)mysql開(kāi)啟遠(yuǎn)程登錄
本文給大家分享的是在Linux平臺(tái)為MySQL開(kāi)啟遠(yuǎn)程登錄連接的方法,有相同需求的小伙伴可以參考下2017-02-02
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 存儲(chǔ)過(guò)程輸入輸出參數(shù)示例
創(chuàng)建存儲(chǔ)過(guò)程時(shí)可以輸入輸出參數(shù),下面是一個(gè)mysql存儲(chǔ)過(guò)程的創(chuàng)建示例,需要的朋友可以參考下2014-08-08
有效查詢MySQL表中重復(fù)數(shù)據(jù)的方法和技巧分享
在MySQL數(shù)據(jù)庫(kù)中,偶爾會(huì)遇到需要查找表中出現(xiàn)的重復(fù)數(shù)據(jù)的情況,這種情況下,我們可以通過(guò)編寫(xiě)一些SQL查詢語(yǔ)句輕松地找到并處理這些重復(fù)行,本文將介紹一些常見(jiàn)的方法和技巧,幫助你有效地查詢MySQL表中的重復(fù)數(shù)據(jù),需要的朋友可以參考下2023-10-10

