我以前的网站在MySQL中使用DATETIME文件来存储所有日期/时间。在我的新网站上我添加时区功能,所以我想将所有提交的时间存储在UTC时间戳,我现在有点困惑虽然在阅读了SO上的另一篇文章后,我读到每次更新记录时更新时间戳,如果是这种情况,那么我应该将我的UTC时间戳存储到文本字段中还是什么?
我打算将UTC值存储在下面,我错了,请帮忙
$now = gmdate('U', time());
答案 0 :(得分:1)
ADD COLUMN name TIMESTAMP DEFAULT 0
是你的朋友。如果没有DEFAULT some_constant_value
,MySQL会在每次更新行时自动更新列(参考MySQL 5.0 Reference Manual :: ... 10.3.1.1 TIMESTAMP Properties)
答案 1 :(得分:1)
我读到时间戳已更新 每次更新记录
关于时间戳的一些信息:
对于表格中的一个TIMESTAMP
列,
您可以分配当前时间戳
作为默认值和
自动更新值。有可能
将当前时间戳设为
初始化的默认值
列,用于自动更新值,或
都。这是不可能的
当前时间戳是默认值
一列的值和
另一列的自动更新值。
a中的任何一个TIMESTAMP
列
table可以用作那个
初始化为当前日期和
时间,或自动更新。这个
不必是第一个TIMESTAMP
列。
如果指定了DEFAULT
值
a中的第一个TIMESTAMP
列
表,它不被忽略。默认
可以是CURRENT_TIMESTAMP
或者
不变的日期和时间值。
指定自动默认值或
更新其他TIMESTAMP
列
比第一个,你必须压制
自动初始化和
更新第一个行为
明确TIMESTAMP
列
为其分配一个常量DEFAULT
值
(例如,DEFAULT 0
或DEFAULT
'2003-01-01 00:00:00'
)。然后,为了
其他TIMESTAMP
列,规则是
与第一个TIMESTAMP
相同
列,但如果省略两者
DEFAULT
和ON UPDATE
条款中的{
没有自动初始化或
更新发生。