我有一个mysql循环查询,如下所示:
DELIMITER $$
DROP function IF EXISTS getTestAccounts $$;
CREATE FUNCTION getTestAccounts(endTime INT) RETURNS INT
BEGIN
DECLARE x,y INT;
DECLARE c1,result varchar(255);
SET c1 = '';
SET result = '';
SET x = endTime;
SET y = 4;
sloop:LOOP
SELECT count(*) INTO c1 FROM `accounts` where `lifeEnd` <= x;
IF y > 0 THEN
SET x = x-3600;
SET y = y - 1;
SET result = CONCAT(result,c1,',');
ITERATE sloop;
ELSE
LEAVE sloop;
END IF;
END LOOP;
RETURN result;
END $$
DELIMITER ;
它成功执行了。在制作
SELECT getTestAccounts(1368193391)
显示db.getTestAccounts does not exist
要交叉检查我使用
SHOW FUNCTION STATUS;
它列出了所有长期创建的功能,但不包括当前的功能....
花了将近一天不知道错误发生在哪里.....任何人都可以告诉我为什么它没有在数据库中创建...谢谢
答案 0 :(得分:0)
你的问题:
DROP function IF EXISTS getTestAccounts $$;
删除该行末尾的分号,它应该可以正常工作。
现在执行脚本时,应该会出现错误。