对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));
提前致谢。
答案 0 :(得分:6)
不,你不能这样做
DEFAULT ADDDATE(CURRENT_TIMESTAMP, INTERVAL 20 MINUTE),
数据类型规范中的DEFAULT值子句指示列的默认值。除了一个例外,默认值必须是常量;它不能是一种功能或表达。
必须是常数而不是函数......