无法创建MySQL过程来更新表

时间:2015-01-27 17:59:03

标签: mysql mariadb

我正在尝试创建一个更新现有用户的过程。它接收用户的名称,然后递增他的点列。我喜欢这样:

CREATE PROCEDURE addPoints (IN nomeus varchar(20))

BEGIN  

UPDATE User
   SET
       points=points+1
   WHERE (nome=nomeus) ;

END;

然而,我收到此错误:

  

#1064 - 您的SQL语法出错;检查与MariaDB服务器版本对应的手册,以便在第8行的''附近使用正确的语法

我该如何解决?

2 个答案:

答案 0 :(得分:0)

是的,我必须使用分隔符:

delimiter //
CREATE PROCEDURE addPoints(IN nomeuser varchar(256)) 
BEGIN  
    UPDATE User
  SET
      points = points + 1
  WHERE nome = nomeuser; 
 END;//
delimiter ;

答案 1 :(得分:0)

如果有疑问,只需访问dev.mysql,那里就有一些很棒的文档。

http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

看起来你找到了自己问题的答案。但是,如果更改过程中的任何代码,请不要忘记在尝试再次创建过程之前删除该过程。

Drop Procedure if exists addPoints;

http://dev.mysql.com/doc/refman/5.0/en/drop-procedure.html

相关问题