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

时间:2011-12-18 17:31:23

标签: php mysql timestamp

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

我无法使用以下方式进行更新:

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

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

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

1是用户的id,并且为此示例进行了硬编码。我也尝试在代码中硬编码值并检查以确保我的代码到达查询。仍然没有骰子。

我应该将表格字段设置为什么?

2 个答案:

答案 0 :(得分:1)

您的字段不应为TIMESTAMP类型,但类型为DATETIME

答案 1 :(得分:0)

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

  

TIMESTAMP数据类型提供自动初始化和更新。   您可以选择是否使用这些属性以及应该使用哪个列   拥有它们:

http://dev.mysql.com/doc/refman/5.5/en/timestamp.html

确保您没有启用任何这些属性(或切换到没有此类功能的其他数据类型)。