首页 > 解决方案 > MySQL ON UPDATE CURRENT_TIMESTAMP 更新所有行中的时间戳字段?

问题描述

看来我自己看不到这个问题。

**my_table**
id
title
last_update (NULL ON UPDATE CURRENT_TIMESTAMP)

在 PHP 中查询:

UPDATE my_table
   SET 
    title='t4'
   WHERE
    id=3

更新是针对 id 完成的,但由于某种原因,所有行中的last_update字段都会更新到最后记录时间。例如:

id  title last_update
1   t1    2018-08-02 03:37pm
2   t2    2018-08-02 03:37pm
3   t4    2018-08-02 03:37pm

注意:除了普通的 mysql 查询之外,没有触发器、函数或任何东西。我最近测试过它仍然是相同的效果。

我想知道这种行为的理论原因是什么。

标签: mysql

解决方案


显然有一个 php日期函数,它从 mysql 中错误地标记了变量...非常感谢您的保证和建议的方向。


推荐阅读