我正在尝试创建一个更新现有用户的过程。它接收用户的名称,然后递增他的点列。我喜欢这样:
CREATE PROCEDURE addPoints (IN nomeus varchar(20))
BEGIN
UPDATE User
SET
points=points+1
WHERE (nome=nomeus) ;
END;
然而,我收到此错误:
#1064 - 您的SQL语法出错;检查与MariaDB服务器版本对应的手册,以便在第8行的''附近使用正确的语法
我该如何解决?
答案 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;