我有一个下面列出的功能.当我在LIMIT设置为0,60时调用它,如下所示,它工作正常.但是,每当我将LIMIT增加到70或更高,甚至删除LIMIT时,我在调用函数时出现错误:"行30153被GROUP_CONCAT()"删除".
我已经尝试将varchar值增加到10 000但这没有帮助.据我所知,从错误来看,它们似乎没有足够的空间作为内容的变量.但正如我所提到的,我已经尝试过增加尺寸,但它没有帮助.有任何想法吗??谢谢
DELIMITER $$
DROP FUNCTION IF EXISTS `fnAlbumGetPhotoList` $$
CREATE DEFINER=`root`@`%` FUNCTION `fnAlbumGetPhotoList`(_albumId int) RETURNS varchar(2048) CHARSET utf8
BEGIN
DECLARE _outPhotoList VARCHAR(2048);
SET _outPhotoList = (
SELECT (CAST(GROUP_CONCAT(CONCAT(photoId, '|', photoFileName) separator '~') AS CHAR(10000) CHARACTER SET utf8)) AS recentPhotoList
FROM
(
SELECT photoId, photoFileName
FROM photo
WHERE photoAlbumId = _albumId
AND photoIsDisabled = 0
AND photoIsActive = 1
ORDER BY photoId DESC
LIMIT 0,60
) as subQuery
);
RETURN _outPhotoList;
END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud) mysql ×1