2

如果没有以下语句,我们如何更新表中的时间戳而不进行任何更新

update table_name set field_name1 = 1 where field_name =1;

我添加了表格结构的图像

在此处输入图像描述

4

2 回答 2

7

不使用就无法更新UPDATE

对于时间戳列,请阅读 MySQL 文档:自动初始化和更新 TIMESTAMP

如果该列是自动更新的,则当该行中任何其他列的值从其当前值更改时,它会自动更新为当前时间戳。如果所有其他列都设置为其当前值,则该列保持不变。为了防止该列在其他列更改时更新,请将其显式设置为其当前值。

要即使在其他列未更改时也更新该列,请将其显式设置为应具有的值(例如,将其设置为CURRENT_TIMESTAMP

因此,仅更新时间戳列:

UPDATE table_name 
SET last_delv_date = CURRENT_TIMESTAMP
WHERE ... ;
于 2012-06-20T13:28:57.940 回答
2
UPDATE table_name 
SET columnNAME = CURRENT_TIMESTAMP
WHERE columnName = ???

编辑:

或将您的表结构更改为:

ON UPDATE CURRENT_TIMESTAMP
于 2012-06-20T13:30:56.160 回答