我有一个MySQL表'word',其中id和word为列。字段中有10000行随机数据。
我正在尝试编写一个函数来从该表中选择800个随机行(字段字段)并将它们连接起来。
DROP FUNCTION IF EXISTS generate_messages;
DELIMITER $$
CREATE FUNCTION generate_messages() RETURNS TEXT
BEGIN
DECLARE message TEXT;
DECLARE messages TEXT;
DECLARE i INT;
SET message = '';
SET i = 1;
WHILE i < 800 DO
set message = SELECT word FROM word ORDER BY RAND() LIMIT 1;
SET message = CONCAT(message,' ');
SET i = i + 1;
END WHILE;
RETURN message;
END $$;
但是在运行它时,我收到SQL错误1064,在SELECT附近声明错误。 我也试过用,
SELECT word into message FROM word ORDER BY RAND() LIMIT1;
但最终得到了同样的错误。
有人可以在我出错的地方帮助我。提前谢谢。