UPDATE `order` SET `status` = IF `type` = 2 THEN 1 ELSE 2 END IF;
我在MySQL触发器中写了这句话,并收到此错误提示:
错误代码:1064
您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在 '
type
= 2 附近使用的正确语法,然后 1 其他 2 在第 5 行结束 IF
如何修复此错误?
您正在寻找CASE
:
UPDATE `order`
SET `status` = CASE WHEN `type` = 2
THEN 1
ELSE 2
END;
你需要使用 IF(( 函数而不是 IF 语句:
UPDATE `order`
SET `status` = IF(`type` = 2, 1, 2);