2012-04-19 112 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

在数据类型规范的默认值子句表明一个列的默认值。有一个例外,默认值必须是常数;它不能是一个函数或表达式。

必须是常数而不是函数...