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;

无报错信息。

特此记录一下。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值