错误1064 mysql语法

错误1064 mysql语法,mysql,stored-procedures,mysql-error-1064,Mysql,Stored Procedures,Mysql Error 1064,我是Mysql新手,正在尝试使用transaction编写Mysql存储过程。但我遇到了错误: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第21行“”附近要使用的正确语法 以下是我的程序: DELIMITER $$ CREATE PROCEDURE InsertVote(IN image_param VARCHAR(30), IN user_id_param INT,

我是Mysql新手,正在尝试使用transaction编写Mysql存储过程。但我遇到了错误:

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以获取第21行“”附近要使用的正确语法 以下是我的程序:

DELIMITER $$
CREATE PROCEDURE InsertVote(IN image_param VARCHAR(30),
                            IN user_id_param INT,
                            IN vore_char CHAR(1)
                            )
Begin 
START TRANSACTION;

IF vote_char="A"  THEN
    UPDATE img_options SET A_result=(A_result+1) WHERE image=image_param;
ELSE IF vote_char="B" THEN
    UPDATE img_options SET B_result=(B_result+1) WHERE image=image_param;
ELSE IF vote_char="C" THEN
    UPDATE img_options SET C_result=(C_result+1) WHERE image=image_param;
ELSE
    UPDATE img_options SET D_result=(D_result+1) WHERE image=image_param;
END IF;

Insert into WATCH_FEED_EVEN values(image_param,user_id_param);
select * from img_options where image=image_param;
COMMIT;       <---Line No 21
END $$
DELIMITER ;
分隔符$$
创建过程InsertVote(在图像参数VARCHAR(30)中),
在user_id_param INT中,
在vore_char中(1)
)
开始
启动交易;
如果投票_char=“A”,则
更新img_选项设置A_结果=(A_结果+1),其中image=image_参数;
否则如果投票_char=“B”,则
更新img_选项集B_结果=(B_结果+1),其中image=image_参数;
否则如果投票_char=“C”,则
更新img_选项集C_结果=(C_结果+1),其中image=image_参数;
其他的
更新img_选项集D_result=(D_result+1),其中image=image_参数;
如果结束;
在WATCH_FEED_偶数值中插入(image_param、user_id_param);
从img_选项中选择*,其中image=image_参数;

犯罪通过
ELSEIF
更改
ELSE IF
@wchiquito谢谢。它可以工作:)