如何在MySQL表中存储创建时间?

4

我想将一行数据插入到MySQL表中,并将其插入时间戳与该行一起存储,以便稍后与其他时间进行比较。对于此操作,最好的字段类型是什么?在PHP中插入带有时间戳的行的最佳方法是什么?

最好的字段类型是TIMESTAMP。在PHP中,可以使用NOW()函数来插入当前时间戳。

3个回答

5
使用TIMESTAMP DEFAULT CURRENT_TIMESTAMP。这将创建一个在插入时设置,但不在更新时设置的时间戳字段。

当我使用PHP检索值时,如何使其返回自参考日期以来的秒数? - Chetan
@Chetan,从Table中选择UNIX_TIMESTAMP(updated_at)作为updated_at。 - vava
在你的 SELECT 查询中,加入另一列.. now()-timestamp_column as difference - Matt
@vava:这将返回Unix时间戳值,而不是与当前日期的秒数差异。 - OMG Ponies
我有一个 SELECT * 查询,我通过在生成的数组中使用索引来访问返回值。有没有办法在不必拥有单独的 now()-timestamp_column as difference 查询的情况下使用相同的 SELECT * 查询? - Chetan
没关系,我可以使用 strtotime() 来达到相同的效果。 - Chetan

1

使用 TIMESTAMP 作为字段类型。所有 TIMESTAMP 字段类型将具有 CURRENT_TIMESTAMP 作为默认值(它是 NOW() 的别名)

在添加记录时,向该字段写入 '' - 它将以默认时间作为值。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接