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