1
我在Windows Server 2008上使用MySQL Server 7.0,并试图在函数中返回GROUP_CONCAT的结果。一般SQL如下:MySQL返回函数中的GROUP_CONCAT
DELIMITER ;
DROP FUNCTION IF EXISTS MyFunction;
DELIMITER $$
CREATE FUNCTION MyFunction(MyVar INT)
RETURNS VARCHAR(255)
BEGIN
SELECT @MyRetVar = GROUP_CONCAT(MyColumn)
FROM MyTable
WHERE MyID = MyVar;
RETURN @MyRetVar;
END$$
DELIMITER ;
我们得到以下结果:
ERROR 1415(0A000):不准 返回结果从函数
我检查组手册(http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html)和读取
结果类型是TEXT或BLOB,除非 group_concat_max_len小于或等于 等于512,在这种情况下结果 类型是VARCHAR或VARBINARY。
我将my_ini中的group_concat_max_len的值从其默认值更改为512和256,并重新启动了MySQL服务。我已验证使用的变化
mysql>显示像“%concat%”这样的变量;
任何帮助表示赞赏!
谢谢,ajreal!这正是我正在寻找的。我有点好奇,为什么我的方法没有工作,虽然... – bitxwise 2010-11-26 11:09:52