我有一个包含3列的数据库:
ID / Price / last_updated
“last_updated”列有..
当我运行mysql_query(UPDATE ...)来更改价格时,某些价格不会改变。但是,在这些情况下,last_updated值保持与之前相同(在这种情况下为:0000-00-00 00:00:00,因为记录尚未更改)。
所以我想,如果新值与现有值不同,则只更新“更新”。
如果在执行mysql_query(UPDATE ...)后没有更改该值,我怎样才能获得放入表中的当前时间戳?
答案 0 :(得分:4)
在您的查询中,只需使用last_updated
始终更新NOW()
字段。像这样:
UPDATE table SET price = ?, last_updated = NOW() WHERE id = ??
答案 1 :(得分:0)
试试这个:
ALTER TABLE myTable
MODIFY last_updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
对于一次性修复,在现有表格上:
update myTable set last_updated=now() where last_updated='0000-00-00 00:00:00'