#1305 - mysql中不存在PROCEDURE

时间:2016-08-06 06:20:28

标签: mysql stored-procedures

DELIMITER $$
DROP PROCEDURE IF EXISTS `insert_or_update`$$
CREATE PROCEDURE insert_or_update(
IN username VARCHAR(70),
    IN score INT,
IN titlein VARCHAR(70)

)
begin
IF EXISTS (SELECT * FROM two_player WHERE title=titlein and user1!=username and user2='') THEN
   UPDATE two_player  SET score12=score , user2=username WHERE title=titlein and user1!=username and user2='' limit 1;
ELSE
   INSERT INTO two_player  (user1,score11,title) values (username, score, titlein);
END if;
END$$    
DELIMITER ; 
call insert_or_update('sara',20,'math');

我创建了一个程序。但是,当我尝试调用它时,我收到此错误消息:

#1305 - PROCEDURE u941310304_menu.insert_or_update does not exist  

出了什么问题?

1 个答案:

答案 0 :(得分:1)

我测试了你的代码并调用了程序。

您的默认数据库是u941310304_menu,您似乎正在另一个数据库中创建该过程。您可以创建指定目标数据库的过程。

DELIMITER $$
DROP PROCEDURE IF EXISTS `u941310304_menu`.`insert_or_update`$$
CREATE PROCEDURE `u941310304_menu`.insert_or_update(
[...]

如果该过程在另一个数据库中,则必须将db名称指定为前缀:

call `another_database`.insert_or_update('sara',20,'math');
相关问题