需要:如果UPDATE不会更改表中的值,则mysql当前时间戳也会更新

提问

我有一个包含3列的数据库:

ID /价格/ last_updated

列“ last_updated”具有..

>作为类型:时间戳
>作为标准:CURRENT_TIMESTAMP
>作为属性:UPDATE上的当前时间戳
>作为额外:更新时当前时间戳

当我运行mysql_query(UPDATE …)更改价格时,某些价格不会更改.但是,在这些情况下,last_updated值与以前相同(在这种情况下为:0000-00-00 00:00:00,因为记录未更改).

因此,我猜想,如果新值与当前值不同,则UPDATE只会“更新”.

即使执行mysql_query(UPDATE …)后值未更改,如何将当前时间戳放入表中?

最佳答案

在您的查询中,只需始终使用NOW()更新last_updated字段即可.像这样:

UPDATE table SET price = ?, last_updated = NOW() WHERE id = ??