用当前时间更新时间戳字段,但不是在每一行更新


Updating Timestamp Fields with Current Time, but not on every row update

我的用户表中有两个TIMESTAMP字段,我想用当前时间戳更新它们,一个是在创建行/帐户时,另一个是在用户每次登录时。

使用

更新时遇到问题
UPDATE user SET last_login = NOW() WHERE id = 1

UPDATE user SET created = NOW() WHERE id = 1

查询没有任何影响。我认为这是一个问题与表设置,并尝试了许多不同的选择。

1是用户的id,在本例中是硬编码的。我还尝试在代码中硬编码值并检查以确保我的代码达到查询。还是不行

有什么想法我应该设置我的表字段吗?

字段的类型不应该是TIMESTAMP,而应该是DATETIME

请注意,TIMESTAMP列可以设置为自动更新,从而覆盖您的手动更改:

TIMESTAMP数据类型提供自动初始化和更新。您可以选择是否使用这些属性以及应该使用哪个列让他们:
http://dev.mysql.com/doc/refman/5.5/en/timestamp.html

确保您没有启用任何这些属性(或者切换到另一个没有这些特性的数据类型)。