MySQL中使用条件语句IF ELSEIF时报错

MySQL中的条件语句 IF ELSEIF导致报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’ at line 68
sql语句:

-- 迁移字段STATUS(检查单状态)
-- 1、根据ID查询出源表中迁移字段STATUS的值,存入变量中
-- 2、根据源表中STATUS的值做对应的处理以适应目标表的状态值,然后迁移到目标表
SELECT olddb.STATUS INTO @status_temp FROM olddb.checklist WHERE ID = NEW.ID - 1000000;

IF @status_temp < 5
	THEN SET NEW.status = @status_temp +1;
ELSE IF @status_temp = 5
	THEN SET NEW.status = 7;
ELSE IF @status_temp = 6
	THEN SET NEW.status = 10;
ELSE IF @status_temp = 7
	THEN SET NEW.status = 11;
END IF;

报错信息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 68

找半天找不着问题在哪里!!

后面翻了下IF ELSEIF的用法, 才发现 ELSEIF 需要连着写!!!

修改了后

SELECT olddb.STATUS INTO @status_temp FROM olddb.checklist WHERE ID = NEW.ID - 1000000;

IF @status_temp < 5
	THEN SET NEW.status = @status_temp +1;
ELSEIF @status_temp = 5
	THEN SET NEW.status = 7;
ELSEIF @status_temp = 6
	THEN SET NEW.status = 10;
ELSEIF @status_temp = 7
	THEN SET NEW.status = 11;
END IF;

无报错信息。

特此记录一下。

猜你喜欢

转载自blog.csdn.net/qq_29025955/article/details/108341868