Mysql低版本使用GROUP_CONCAT函数出现BLOB
sql案例
SELECT
GROUP_CONCAT(r.id)
FROM
sys_role r
INNERJOIN sys_user_role ur ON ur.sys_role_id = r.id
WHERE
ur.sys_user_id = '35000267'
AND r.entity_status = 0
高版本(5.5)查询结果
低版本(5.1)查询结果
原因:
在MySql5.1上这样的GROUP_CONCAT( int )将会变为BLOB类型
解决方案:
GROUP_CONCAT(CAST( int ))
修改后sql:
SELECT
GROUP_CONCAT(DISTINCT(CAST(r.id AS CHAR)))
FROM
sys_role r
INNER JOIN sys_user_role ur ON ur.sys_role_id = r.id
WHERE
ur.sys_user_id = u.id
AND r.entity_status = 0