如何为当前utc_timestamp
添加时间或天数?
我正在使用;
new CDbExpression('UTC_TIMESTAMP()')
我的mysql表中的'created'和'updated'字段,但是想添加一个'expiry'字段,该字段允许从创建日期起4天。我认为这是可能的,但我不确定如何。
答案 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 开始,TIMESTAMP和DATETIME列可以自动生成 初始化并更新到当前日期和时间(即, 当前时间戳)。在5.6.5之前,这仅适用于TIMESTAMP,和 每个表最多一个TIMESTAMP列。
参考: