自己使用MySQL中的GROUP_CONCAT(CONCAT_WS())函數查詢的數據顯示不全的問題. 以及在后台開發中怎么設置使用.


 

在開發過程中使用到了MySQL 中的GROUP_CONCAT(CONCAT_WS())搭配方式, 至於怎么使用mysql中的concat函數、concat_ws()函數,以及group_concat()函數。可以參考一下鏈接↙

https://blog.csdn.net/Vasilis_1/article/details/75305473

開發過程中,自己遇到因為使用GROUP_CONCAT(CONCAT_WS())而導致查詢出的數據不全,有缺失。剛開始自己是一頭霧水,以為是寫的代碼有問題但自己仔細的有檢查一下發現沒問題。

便把查詢的語句在數據庫里又查了一遍。這才發現是數據庫語句有問題。通過在網上查找也找到了幾個解決的方案,但是都不行。

自己右摸索了一點時間。

直接在MySQL的配置文件my.ini中的:

[mysqld]

添加
group_concat_max_len=4294967295(可以隨意的設置)

重啟之后好像沒有什么變化。

 

自己在數據庫查詢語句前先添加了

SET SESSION group_concat_max_len = 71680;(其中還有可以  SET GLOBAL group_concat_max_len = 102400; 這個沒有試,感興趣的小伙伴可以試下)

在進行查詢,問題完美搞定。

但是在代碼中怎樣設置成了難題。

不能直接在拼接的SQL語句中直接的進行拼接.是無法被識別的.

可以在后台代碼,語句查詢之前先進行添加如下代碼:

    

getSession().doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
try (Statement statement = connection.createStatement()) {
statement.execute("SET SESSION group_concat_max_len = 71680");
}
}
});

此問題邊可以解決...............................................................................................................................................................................................................................................................................................我叫陳特西!!! 樂於分享與交流~ 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM