您如何将时间或天数添加到 current utc_timestamp
?
我在用;
new CDbExpression('UTC_TIMESTAMP()')
对于我的 mysql 表中的“创建”和“更新”字段,但想添加一个“到期”字段,该字段允许从创建日期起 4 天。我认为这是可能的,但不确定如何。
“数据类型规范中的 DEFAULT value 子句表示列的默认值。除了一个例外,默认值必须是常量;它不能是函数或表达式。这意味着,例如,您不能设置日期列的默认值是 NOW() 或 CURRENT_DATE 等函数的值。"
因此,这是明确记录的限制
TRIGGER
如果您的 MySQL 版本 < 5.6.5 ,则必须创建
但
从MySQL 5.6.5开始,TIMESTAMP 和 DATETIME 列可以自动初始化并更新为当前日期和时间(即当前时间戳)。在 5.6.5 之前,这仅适用于 TIMESTAMP,并且每个表最多有一个 TIMESTAMP 列。
参考 :
用于插入/更新当前时间
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
在 MySQL 中:
ALTER TABLE `table`
ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);