Mysql group_concat字符長度限制


語句如下:

SELECT
`a`.`ID` AS `ID`,
`a`.`Category_Name` AS `Category_Name`,
concat(
'[',
group_concat(
'{"DrugId":"',
`b`.`ID`,
'", "DrugName":"',
`b`.`Drug_Name`,
'"}' SEPARATOR ','
),
']'
) AS `Drug_Data`
FROM
(
`drug_category` `a`
LEFT JOIN `drug` `b` ON (
(`a`.`ID` = `b`.`Category_ID`)
)
)
WHERE
(
(`a`.`Is_Deleted` = 0)
AND (`b`.`Is_Deleted` = 0)
)
GROUP BY
`a`.`ID`

執行后返回到程序中,發現字段[Drug_Data]被截斷,本來以為是NHibernate中映射文件字段長度的問題,但是改了之后發現沒有作用,查詢資料,發現group_concat函數返回的字符長度是有限制的,解決方案就是在MySql配置文件my.ini中加上 group_concat_max_len = 200000 改大就行了。

 

或者執行 

SET GLOBAL group_concat_max_len = 200000;

SET SESSION group_concat_max_len = 200000;


免責聲明!

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



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