将时间戳插入数据库+ 7天

时间:2011-03-31 18:13:43

标签: mysql sql

我正在尝试在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网站上找不到这样的东西,并想知道是否有办法做到这一点?

2 个答案:

答案 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天的间隔。