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

时间:2012-07-19 07:10:02

标签: 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(days) VALUES(DATE_ADD(@_days,INTERVAL 1 DAY));
END IF;

我得到的错误是#1064。我的mysql版本是5.5.25

1 个答案:

答案 0 :(得分:0)

它应该工作,因为我看不到任何语法错误。检查编辑器中的任何特殊字符。

您也可以尝试:

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