您建议使用datetime或timestamp字段吗?为什么(使用MySQL)?
我在服务器端使用PHP。
您建议使用datetime或timestamp字段吗?为什么(使用MySQL)?
我在服务器端使用PHP。
当前回答
值得注意的是,在MySQL中,您可以在创建表列时使用以下内容:
on update CURRENT_TIMESTAMP
这将更新每次修改行时的时间,有时对存储的上次编辑信息非常有用。这只适用于时间戳,但不适用于日期时间。
其他回答
值得注意的是,在MySQL中,您可以在创建表列时使用以下内容:
on update CURRENT_TIMESTAMP
这将更新每次修改行时的时间,有时对存储的上次编辑信息非常有用。这只适用于时间戳,但不适用于日期时间。
我总是使用Unix时间戳,只是为了在处理大量日期时间信息时保持理智,尤其是在调整时区、添加/减去日期等时。在比较时间戳时,这排除了时区的复杂因素,并允许您在服务器端处理(无论是应用程序代码还是数据库查询)中节省资源,因为您使用了较轻的算术,而不是较重的日期时间加减函数。
另一件值得考虑的事情:
如果您正在构建一个应用程序,那么您永远不知道您的数据可能会被如何使用。如果你最终不得不将数据集中的一堆记录与第三方API中的一堆项目进行比较,然后按照时间顺序排列,你会很高兴为你的行设置Unix时间戳。即使您决定使用MySQL时间戳,也要存储Unix时间戳作为保险。
到目前为止,还没有提到DEFAULT CURRENT_TIMESTAMP只适用于时间戳,而不适用于DateTime类型字段。
这与只能使用DateTime而不能使用Timestamp的MS Access表相关。
时间戳是计算机通过网络时间协议(NTP)记录的事件的当前时间。
datetime是在PHP配置中设置的当前时区。
主要区别在于
时间戳上的索引-有效日期时间上的索引-不起作用
看看这篇文章,看看Datetime索引的问题