Mysql时间戳默认值

时间:2012-04-19 08:49:14

标签: mysql database

对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));

提前致谢。

1 个答案:

答案 0 :(得分:6)

不,你不能这样做

DEFAULT ADDDATE(CURRENT_TIMESTAMP, INTERVAL 20 MINUTE),

explanation from the manual

  

数据类型规范中的DEFAULT值子句指示列的默认值。除了一个例外,默认值必须是常量;它不能是一种功能或表达。

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