繁体   English   中英

无法创建MySQL过程来更新表

[英]Can't create MySQL procedure to update table

我正在尝试制定一个程序来更新现有用户。 它接收用户名,然后增加其积分栏。 我有这样的:

CREATE PROCEDURE addPoints (IN nomeus varchar(20))

BEGIN  

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

END;

但是,我收到此错误:

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

我该如何解决?

是的,我必须使用定界符:

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

如有疑问,请访问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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM