Mysql 日期时间与时间戳字段

Mysql 日期时间与时间戳字段,mysql,Mysql,我是MySQL数据库的新手 您是否建议在创建表时使用datetime或timestamp字段,以及原因。 我正在使用MySQL 5.7和innodb引擎 感谢提供了一个创建字段,我将使用时间戳。这样你就不会在时区问题上遇到麻烦,这可能会非常棘手 例如,时间戳不适用于生日,因为您必须处理时间戳“0”的历元,即1970年1月1日。但是对于创建时间来说,这并不重要。MySQL中的时间戳通常用于跟踪记录的更改,并且经常在每次记录更改时更新。如果要存储特定值,应使用datetime字段 如果您想决定是使用

我是MySQL数据库的新手

您是否建议在创建表时使用datetime或timestamp字段,以及原因。 我正在使用MySQL 5.7和innodb引擎


感谢提供了一个创建字段,我将使用时间戳。这样你就不会在时区问题上遇到麻烦,这可能会非常棘手


例如,时间戳不适用于生日,因为您必须处理时间戳“0”的历元,即1970年1月1日。但是对于创建时间来说,这并不重要。

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

如果您想决定是使用UNIX时间戳还是本机MySQL日期时间字段,请使用本机格式。您可以通过这种方式在MySQL中进行计算
(“SELECT DATE\u ADD(my\u datetime,INTERVAL 1 DAY)”)
,如果您想使用PHP对记录进行操作,在查询记录时,将值的格式更改为UNIX时间戳
(“SELECT UNIX\u时间戳(my\u datetime)”)


因此,最好对大多数数据库操作使用datetime

我会对任何需要自动管理的操作使用
时间戳
,因为它支持
更新当前时间戳
或将
当前时间戳
作为默认值

这在
DATETIME
中是不可能的,但是我更喜欢这种格式,因为您不需要转换它。所以我会用它来做其他的事情


如果您需要一种可以自动生成的灵活格式,那么您可能必须使用
时间戳
并在需要时进行转换。

日期时间字段仅包含日期年月,而时间戳文件ld也包含小时分钟秒。。。因此,这取决于您的需求以及您如何存储数据……但我建议您使用时间戳文件,它将易于过滤和排序data@AnkitAgrawal:dateTIME不仅包含“日期-年-月”。它还包含时间。因此命名…您还可以从中看到复制粘贴的可能副本