我需要跟踪表格中的三个日期:
- created_at
- started_at
- finished_at
将来我计划让我的脚本适用于任何时区。据我所知,当我使用时间戳时,它们可以转换为任何时区,而日期时间则不能。但另一方面,似乎不是在一个表中有多个时间戳的最佳解决方案,人们通常使用日期时间表。
所以,如果我想使用时区我应该使用什么?实际上我甚至无法创建一个包含3个时间戳列的表(得到一些错误)
更新
当我尝试创建一个包含四个时间戳的表时,我遇到了语法错误。这是代码:
CREATE TABLE IF NOT EXISTS `vs2`.`campaigns` (
`starts_at` TIMESTAMP NOT NULL DEFAULT 0000-00-00 00:00:00 ,
`ends_at` TIMESTAMP NOT NULL DEFAULT 0000-00-00 00:00:00 ,
`updated_at` TIMESTAMP NOT NULL DEFAULT 0000-00-00 00:00:00 ,
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
...
我删除了不必要的字段。我确定原因是时间戳出了问题,因为当我使用datetime时它工作得很好。我把默认值设置为因为我记得我有一个问题,所有时间戳都更新到当前日期或类似的东西。当我删除除了created_at之外的所有时间戳的默认值:
Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause