MySQL时间戳仅在创建时

时间:2009-05-03 16:09:04

标签: mysql timestamp

我在MySQL 5.x(使用PHP)上使用时间戳来记住事件时间。在开发过程中,我不得不使用一个更改所有列中的内容的查询来更新表。然后将时间戳重置为当前时间。

如何仅在插入时更改时间戳更改,而不是更新或替换?

4 个答案:

答案 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