使用utc timestamp,mysql和php的到期日期?

时间:2009-07-15 05:04:05

标签: php mysql utc

如何为当前utc_timestamp添加时间或天数?

我正在使用;

new CDbExpression('UTC_TIMESTAMP()')

我的mysql表中的'created'和'updated'字段,但是想添加一个'expiry'字段,该字段允许从创建日期起4天。我认为这是可能的,但我不确定如何。

3 个答案:

答案 0 :(得分:0)

用于插入/更新当前时间

更新表 SET created = NOW()

从创建之日起4天 SELECT * FROM表WHERE创建> DATE_SUB(NOW(),INTERVAL 4 DAY)

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

答案 1 :(得分:0)

在MySQL中:

ALTER TABLE `table` 
    ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);

答案 2 :(得分:0)

  

“数据类型规范中的DEFAULT值子句表示a   列的默认值。除了一个例外,默认值必须   是一个常数;它不能是一个功能或表达。这意味着,   例如,您不能将日期列的默认值设置为   一个函数的值,如NOW()或CURRENT_DATE。“

因此,这是明确记录的限制

如果你的MySQL版本<你必须创建TRIGGER 5.6.5

但是

MySQL 5.6.5 changelog stats

  

MySQL 5.6.5 开始,TIMESTAMP和DATETIME列可以自动生成   初始化并更新到当前日期和时间(即,   当前时间戳)。在5.6.5之前,这仅适用于TIMESTAMP,和   每个表最多一个TIMESTAMP列。

参考:

http://bugs.mysql.com/bug.php?id=27645

http://optimize-this.blogspot.in/