Mysql 为什么这个IF语句没有编译

Mysql 为什么这个IF语句没有编译,mysql,Mysql,代码如下 SELECT MAX(days) INTO @_days FROM my_table; -- compiles ok -- problems start here IF DAYOFWEEK(@_days) = 6 THEN INSERT INTO my_table(days) VALUES(DATE_ADD(@_days,INTERVAL 2 DAY)); ELSE INSERT INTO my_table(da

代码如下

SELECT MAX(days) INTO @_days FROM my_table; -- compiles ok

-- problems start here

IF DAYOFWEEK(@_days) = 6 THEN                           
    INSERT INTO my_table(days) VALUES(DATE_ADD(@_days,INTERVAL 2 DAY));
ELSE
    INSERT INTO my_table(days) VALUES(DATE_ADD(@_days,INTERVAL 1 DAY));
END IF;

我得到的错误是#1064。我的mysql版本是5.5.25,应该可以正常工作,因为我看不到任何语法错误。检查编辑器中是否有任何特殊字符

您也可以尝试:

INSERT INTO my_table(days) VALUES(DATE_ADD(@_days,INTERVAL IF(DAYOFWEEK(@_days) = 6, 2, 1) DAY));