一尘不染

我应该在 MySQL 中使用 datetime 还是 timestamp 数据类型?

javascript

你会推荐使用日期时间或时间戳字段,为什么(使用 MySQL)?

我在服务器端使用 PHP。


阅读 151

收藏
2022-01-24

共2个答案

一尘不染

MySQL 中的时间戳一般用于跟踪记录的更改,并且经常在每次记录更改时更新。如果要存储特定值,则应使用日期时间字段。

如果您的意思是要在使用 UNIX 时间戳或原生 MySQL 日期时间字段之间做出决定,请使用原生格式。您可以通过这种方式在 MySQL 中进行计算, 如果您想使用 PHP 对其进行操作,则在查询记录时("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)")将值的格式更改为 UNIX 时间戳很简单。("SELECT UNIX_TIMESTAMP(my_datetime)")

2022-01-24
一尘不染

在 MySQL 5 及更高版本中,TIMESTAMP值从当前时区转换为 UTC 进行存储,并从 UTC 转换回当前时区进行检索。(这仅适用于 TIMESTAMP 数据类型,而不适用于其他类型,例如 DATETIME。)

默认情况下,每个连接的当前时区是服务器的时间。可以基于每个连接设置时区,如MySQL Server Time Zone Support中所述。

2022-01-24