我正在尝试在MySQL中创建一个表,其中有一个时间戳字段比now()
提前7天有没有办法执行此操作?
这是我目前的代码
CREATE TABLE tbl_reg
(
reg_id int(7) NOT NULL auto_increment KEY,
user_id int(7) NOT NULL,
registration_key char(50) NOT NULL,
registration_expires timestamp default now()+7days,
stamp_created timestamp default now()
);
任何人都可以帮忙,因为我在mysql网站上找不到这样的东西,并想知道是否有办法做到这一点?
答案 0 :(得分:29)
MySQL中有许多日期/时间函数可以解决这个问题。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add
registration_expires=DATE_ADD(NOW(), INTERVAL 7 DAY)
但是,您无法将表达式设置为默认值 - 您需要在INSERT查询中执行此操作。请注意,即使您的expr值为> 1没有复数用于单位价值。
答案 1 :(得分:3)
或者您可以从添加间隔的查询中创建视图,或者在查询db时始终添加7天的间隔。