mysql函数已成功执行但在查询状态时未找到

时间:2013-04-23 14:12:38

标签: mysql

我有一个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;

它列出了所有长期创建的功能,但不包括当前的功能....

花了将近一天不知道错误发生在哪里.....任何人都可以告诉我为什么它没有在数据库中创建...谢谢

1 个答案:

答案 0 :(得分:0)

你的问题:

DROP function IF EXISTS getTestAccounts $$;

删除该行末尾的分号,它应该可以正常工作。

现在执行脚本时,应该会出现错误。