濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法

Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法

熱門標(biāo)簽:中科嘉智人工智能電銷機(jī)器人 凱立德科技館地圖標(biāo)注 哈爾濱crm外呼系統(tǒng)價(jià)格 甘孜電話機(jī)器人廠家 西安400電話在哪里辦理 銀川電銷外呼系統(tǒng)定制 上海智能外呼系統(tǒng)需要多少錢 做地圖標(biāo)注都需要什么工具 電銷機(jī)器人好品牌門薩維l

前天在生產(chǎn)環(huán)境中遇到一個(gè)問題:使用 GROUP_CONCAT 函數(shù)select出來的數(shù)據(jù)被截?cái)嗔?,最長(zhǎng)長(zhǎng)度不超過1024字節(jié),開始還以為是navicat客戶端自身對(duì)字段長(zhǎng)度做了限制的問題。后面故意重新INSERT了一個(gè)字段長(zhǎng)度超1024字節(jié)的數(shù)據(jù),但是navicat能完整展示出來,所以就排除了navicat的問題。

然后想到1024這個(gè)熟悉的數(shù)字,會(huì)不會(huì)是C++框架在接收MySQL通過socket傳輸過來的數(shù)據(jù)時(shí)被處理了呢?于是手工在日志中打印這個(gè)字段,發(fā)現(xiàn)即使數(shù)據(jù)長(zhǎng)度超過1024字節(jié)仍然是可以完整顯示的。

1 查找原因

至此,只能從SQL語(yǔ)句出發(fā)了。網(wǎng)上搜了下 GROUP_CONCAT 數(shù)據(jù)截?cái)嗟膯栴},答案都指向了 group_concat_max_len 這個(gè)參數(shù),它的默認(rèn)值正好是1024??梢灾苯釉跀?shù)據(jù)庫(kù)中通過下面的命令查看這個(gè)默認(rèn)值:

mysql> show variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name  | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql>

MySQL官方手冊(cè) 對(duì)它的定義是 The maximum permitted result length in bytes for the GROUP_CONCAT() function. ,也就是它限制了 GROUP_CONCAT 數(shù)據(jù)的長(zhǎng)度。

2 解決問題

只要調(diào)整 group_concat_max_len 到最大值就行了,官方在MySQL5.7的手冊(cè)中給出了如下定義:

 

由于BZ的測(cè)試虛擬機(jī)MySQL5.7.19是64位的,所以可以通過下面這兩種方法配置好 group_concat_max_len 為最大值``:

#### 方法一:修改MySQL配置文件my.cnf,在[mysqld]節(jié)點(diǎn)中添加
group_concat_max_len = 18446744073709551615
#### 方法二:直接控制臺(tái)上設(shè)置立即生效
-- 【必須操作】更改全局配置----
SET GLOBAL group_concat_max_len=18446744073709551615;
-- 【可選操作】使配置在當(dāng)前會(huì)話中也立即生效,其它已經(jīng)登錄的會(huì)話終端需要重啟生效----
SET SESSION group_concat_max_len=18446744073709551615;

3 測(cè)試效果

這里采用的是第二種方法,通過執(zhí)行 SELECT LENGTH(GROUP_CONCAT(Fremark)) FROM account; 結(jié)果的對(duì)比,可以發(fā)現(xiàn)已經(jīng)成功解決了MySQL5.7中使用GROUP_CONCAT數(shù)據(jù)被截?cái)嗟膯栴}。

 

總結(jié)

以上所述是小編給大家介紹的Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • 如何修改Mysql中g(shù)roup_concat的長(zhǎng)度限制
  • 淺談MySQL中g(shù)roup_concat()函數(shù)的排序方法
  • mysql group_concat()函數(shù)用法總結(jié)
  • MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用陷阱分析
  • mysql利用group_concat()合并多行數(shù)據(jù)到一行
  • MySQL中g(shù)roup_concat函數(shù)深入理解
  • Mysql的GROUP_CONCAT()函數(shù)使用方法
  • MySQL基于group_concat()函數(shù)合并多行數(shù)據(jù)

標(biāo)簽:安康 平頂山 安徽 那曲 濮陽(yáng) 四川 山南 浙江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法》,本文關(guān)鍵詞  Mysql5.7,中,使用,group,concat,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    徐州市| 吴旗县| 中山市| 凤台县| 凌云县| 宜兰市| 偏关县| 湘潭市| 阿拉善左旗| 古蔺县| 汝州市| 垦利县| 英吉沙县| 荔波县| 蒙阴县| 共和县| 青海省| 法库县| 青铜峡市| 祁东县| 海伦市| 常熟市| 迁安市| 铜陵市| 苍溪县| 贞丰县| 宁陕县| 前郭尔| 临沧市| 阜康市| 卢龙县| 博湖县| 万州区| 韩城市| 方山县| 巩留县| 叶城县| 开阳县| 乡宁县| 洛阳市| 仁怀市|