Mysql 添加日期时间作为默认值
我们可以在创建表时使用dateadd函数吗Mysql 添加日期时间作为默认值,mysql,Mysql,我们可以在创建表时使用dateadd函数吗 CREATE TABLE test( id INTEGER(16) NOT NULL AUTO_INCREMENT, CONSTRAINT PRIMARY KEY (id), controlstarttime DATETIME NOT NULL DEFAULT NOW(), timeout DATETIME NOT NULL DEFAULT DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 10 SECOND) ) 我
CREATE TABLE test(
id INTEGER(16) NOT NULL AUTO_INCREMENT,
CONSTRAINT PRIMARY KEY (id),
controlstarttime DATETIME NOT NULL DEFAULT NOW(),
timeout DATETIME NOT NULL DEFAULT DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 10 SECOND)
)
我尝试了上面的查询,它给了我一个语法错误。我知道使用触发器可以很容易地实现这一点,但我想知道为什么这个查询不起作用。有什么想法吗?MySQL中的默认值必须是常量。它们不能是函数或表达式(当前_时间戳除外)
来源:我认为不可能在mysql中创建默认间隔,但可以创建触发器
CREATE TRIGGER settime
BEFORE INSERT on table1
FOR EACH ROW BEGIN
IF new.`date` is null THEN
SET new.`date` = DATE_ADD(NOW(), INTERVAL 10 SECOND);
END IF;
END;