0

您如何将时间或天数添加到 current utc_timestamp

我在用;

new CDbExpression('UTC_TIMESTAMP()')

对于我的 mysql 表中的“创建”和“更新”字段,但想添加一个“到期”字段,该字段允许从创建日期起 4 天。我认为这是可能的,但不确定如何。

4

3 回答 3

0

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

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

TRIGGER如果您的 MySQL 版本 < 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/

于 2012-07-03T10:44:52.360 回答
0

用于插入/更新当前时间

UPDATE 表 SET 创建 = NOW()

自创建日期起 4 天 SELECT * FROM table WHERE created > DATE_SUB(NOW( ), INTERVAL 4 DAY )

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

于 2009-07-15T05:11:22.907 回答
0

在 MySQL 中:

ALTER TABLE `table` 
    ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);
于 2009-07-15T05:12:29.800 回答