我在MySQL 5.x(使用PHP)上使用时间戳来记住事件时间。在开发过程中,我不得不使用一个更改所有列中的内容的查询来更新表。然后将时间戳重置为当前时间。
如何仅在插入时更改时间戳更改,而不是更新或替换?
答案 0 :(得分:68)
Here's all you need to know。简而言之,我认为应该这样做:
ALTER TABLE `mytable`
CHANGE `mydatefield` `mydatefield`
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
答案 1 :(得分:1)
我建议在该列中使用DATETIME。更新记录时不会更改。
对我来说,我使用TIMESTAMP跟踪上次触摸记录的时间,尽管我一般都避免使用它。
答案 2 :(得分:0)
您可以对该字段使用default value,而不是将其包含在插入或更新查询中。
答案 3 :(得分:0)
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
这里有非常好的文档for time-stamp。