我是MySQL数据库的新手。
您是否建议在表创建中使用日期时间或时间戳字段以及原因。 我正在使用MySQL 5.7和innodb引擎。
由于
答案 0 :(得分:2)
对于创建字段,我会使用时间戳。你不会以这种方式遇到时区问题,这可能非常棘手。
时间戳对于例如生日没有用,因为你必须处理EPOCH又名时间戳'0',即1970年1月1日。但是对于创作时间它应该没关系。
答案 1 :(得分:2)
我会将TIMESTAMP
用于需要自动管理的任何内容,因为它支持ON UPDATE CURRENT_TIMESTAMP
或CURRENT_TIMESTAMP
等内容作为默认值。
DATETIME
这是不可能的,但我更喜欢格式,因为您不需要转换它。所以我将其用于其他一切。
如果您需要一种可以自动生成的灵活格式,那么您可能必须使用TIMESTAMP
并在需要时进行转换。
答案 2 :(得分:-3)
MySQL中的时间戳通常用于跟踪记录的更改,并且每次更改记录时都会更新。如果要存储特定值,则应使用日期时间字段。
如果您想要在使用UNIX时间戳或本机MySQL日期时间字段之间做出决定,请使用本机格式。您可以使用("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)")
方式在MySQL中进行计算,如果要使用PHP对其进行操作,则可以在查询记录时将值的格式更改为UNIX时间戳("SELECT UNIX_TIMESTAMP(my_datetime)")
。
因此,最适合在大多数数据库操作中使用datetime