如何将时间或天数添加到当前utc_timestamp
我正在使用;
new CDbExpression('UTC_TIMESTAMP()')对于我的mysql表中的“已创建”和“已更新”字段,但我想添加一个“过期”字段,这将允许从创建日期起4天。我认为这是可能的,但不确定如何实现。
发布于 2009-07-15 05:11:23
用于插入/更新当前时间
更新表格集合created = NOW()
对于从创建日期开始的4天,选择* from table WHERE created > DATE_SUB( NOW( ),间隔4天)
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
发布于 2009-07-15 05:12:30
在MySQL中:
ALTER TABLE `table`
ADD expiry datetime DEFAULT DATE_ADD( utc_timestamp( ) , INTERVAL 4 DAY);发布于 2012-07-03 18:44:52
“数据类型规范中的DEFAULT value子句指示列的默认值。除了一个例外,默认值必须是常量;它不能是函数或表达式。这意味着,例如,您不能将日期列的默认值设置为NOW()或CURRENT_DATE等函数的值。”
因此,这是明确记录的限制
如果您的MySQL版本低于5.6.5,则必须创建TRIGGER
而不是
从MySQL 5.6.5开始,、TIMESTAMP和DATETIME列可以自动初始化并更新为当前日期和时间(即当前时间戳)。在5.6.5之前,只有时间戳是正确的,并且每个表最多有一个时间戳列。
参考资料:
https://stackoverflow.com/questions/1129493
复制相似问题