4

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

提前致谢。

4

1 回答 1

6

不,你不能这样做

DEFAULT ADDDATE(CURRENT_TIMESTAMP, INTERVAL 20 MINUTE),

手册中的解释

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

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

于 2012-04-19T08:52:54.710 回答