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

2022-01-13 00:00:00 datetime timestamp mysql sqldatatypes

你会推荐使用 datetime 还是 timestamp 字段,为什么(使用 MySQL)?

Would you recommend using a datetime or a timestamp field, and why (using MySQL)?

我在服务器端使用 PHP.

I'm working with PHP on the server side.

推荐答案

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

Timestamps in MySQL are generally used to track changes to records, and are often updated every time the record is changed. If you want to store a specific value you should use a datetime field.

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

If you meant that you want to decide between using a UNIX timestamp or a native MySQL datetime field, go with the native format. You can do calculations within MySQL that way ("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)") and it is simple to change the format of the value to a UNIX timestamp ("SELECT UNIX_TIMESTAMP(my_datetime)") when you query the record if you want to operate on it with PHP.

相关文章