UPDATE `order` SET `status` = IF `type` = 2 THEN 1 ELSE 2 END IF;
我在 MySQL 触发器中写了这句话,我收到了这个错误提示:
错误代码:1064
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在#5;
type
= 2附近使用正确的语法。然后在第5行进行1结束
如何解决此错误?
答案 0 :(得分:2)
您正在寻找CASE
:
UPDATE `order`
SET `status` = CASE WHEN `type` = 2
THEN 1
ELSE 2
END;
答案 1 :(得分:1)
您需要使用IF() function而不是IF statement:
UPDATE `order`
SET `status` = IF(`type` = 2, 1, 2);