2012-04-19 140 views
4

對於Mysql我真的很陌生。在某種程度上可以做下面的事嗎? Mysql按預期拋出語法錯誤,但是有什麼我應該改變,這將使它工作?Mysql時間戳默認值

CREATE TABLE tracksession(ID INT NOT NULL AUTO_INCREMENT, 
      user_id INT DEFAULT NULL, 
      leave_mode ENUM('loggedout', 'timedout') DEFAULT NULL, 
      login TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 
      logout TIMESTAMP DEFAULT ADDDATE(CURRENT_TIMESTAMP, INTERVAL 20 MINUTE), 
      PRIMARY KEY(ID)); 

在此先感謝。

回答

6

都能跟得上你不能做到這一點

DEFAULT ADDDATE(CURRENT_TIMESTAMP, INTERVAL 20 MINUTE), 

explanation from the manual

在數據類型規範的默認值子句表明一個列的默認值。有一個例外,默認值必須是常數;它不能是一個函數或表達式。

必須是常數而不是函數...