MySQL返回组_CONCAT in函数
我正在Windows Server 2008上使用MySQL Server 7.0,并试图在一个函数中返回一个GROUP_CONCAT的结果。通用SQL如下所示:MySQL返回组_CONCAT in函数,sql,mysql,group-concat,mysql-error-1415,Sql,Mysql,Group Concat,Mysql Error 1415,我正在Windows Server 2008上使用MySQL Server 7.0,并试图在一个函数中返回一个GROUP_CONCAT的结果。通用SQL如下所示: DELIMITER ; DROP FUNCTION IF EXISTS MyFunction; DELIMITER $$ CREATE FUNCTION MyFunction(MyVar INT) RETURNS VARCHAR(255) BEGIN SELECT @MyRetVar = 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 ;
这将产生以下结果:
错误1415(0A000):不允许
从函数返回结果集
我检查了手册()并读了一遍
结果类型为TEXT或BLOB,除非
组concat\u max\u len小于或
等于512,在这种情况下,结果
类型为VARCHAR或VARBINARY
我在My.ini中将group_concat_max_len的值从默认值更改为512和256(并重新启动了MySQL服务)。我已经使用
mysql>显示变量,如“%concat%”
感谢您的帮助 试试看
SELECT GROUP_CONCAT(MyColumn)
FROM MyTable
WHERE MyID = MyVar INTO @MyRetVar;
RETURN @MyRetVar;
谢谢,真的!这正是我要找的。我有点好奇为什么我的方法不起作用,尽管…@bitxwise你的方法不起作用,因为没有输入的选择不能给变量赋值。