我在表中有一个列update_date,类型是时间戳。我使用phpmyadmin下拉菜单设置了CURRENT_TIMESTAMP的deault值。但是后来当我运行sql UPDATE x SET ... 如果任何列中只有更改,它会更新时间戳列。我想要实现的是每次更新sql运行时是否有更改都设置当前时间。有没有办法在mysql中执行它或者我需要在每次调用更新时显式设置update_date?
谢谢
答案 0 :(得分:7)
您需要显式更新列。从MySQL手册TIMESTAMP properties:
自动更新TIMESTAMP列(如果有)将自动更新为当前时间戳,此行中任何其他列的值将从其当前值更改。 如果所有其他列都设置为其当前值,则TIMESTAMP列不会更改。如果为TIMESTAMP列显式指定了非NULL值,则自动更新不适用。
强调我的。