以下のような 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日を過ごします.....データベースに作成されていない理由を誰か教えてください...ありがとう