2012-07-19 49 views
0

代碼如下。爲什麼這個IF語句沒有編譯

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

回答

0

它應該工作,因爲我不能看到任何語法錯誤。檢查編輯器中的任何特殊字符。

你還可以嘗試:

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