更新时间戳的mysql表列而不更改任何字段

时间:2012-06-20 13:26:20

标签: mysql sql

如何更新表中的时间戳而不进行任何更新 没有以下声明

update table_name set field_name1 = 1 where field_name =1;

我添加了表格结构图像

enter image description here

2 个答案:

答案 0 :(得分:5)

如果不使用UPDATE,则无法更新。

对于时间戳列,请阅读MySQL文档:Automatic Initialization and Updating for TIMESTAMP

  

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

     

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

因此,仅更新时间戳列:

UPDATE table_name 
SET last_delv_date = CURRENT_TIMESTAMP
WHERE ... ;

答案 1 :(得分:2)

UPDATE table_name 
SET columnNAME = CURRENT_TIMESTAMP
WHERE columnName = ???

编辑:

或将您的表格结构更改为:

ON UPDATE CURRENT_TIMESTAMP