簡體   English   中英

我應該在mysql中將timestamp字段用於時區還是其他?

[英]Should I use a timestamp field in mysql for timezones or other?

我以前的站點在MySQL中使用DATETIME字段來存儲所有日期/時間。 在我的新站點上,我要添加時區功能,因此我想將所有提交的時間存儲在UTC時間戳上,雖然在閱讀了SO的另一篇文章后,我讀到每次更新記錄時都會更新時間戳,所以現在我有點困惑,如果是這種情況,那么我應該將我的UTC時間戳存儲到文本字段中還是什么?

我打算在下面存儲UTC值,我錯了,請幫忙

$now = gmdate('U', time());

ADD COLUMN name TIMESTAMP DEFAULT 0是您的朋友。 如果沒有DEFAULT some_constant_value ,則每次更新DEFAULT some_constant_value ,MySQL都會自動更新列(請參閱MySQL 5.0參考手冊:: ... 10.3.1.1 TIMESTAMP屬性

我讀到時間戳每次更新記錄時都會更新

只是一些有關時間戳的信息:

  • 對於表中的一個TIMESTAMP列,您可以將當前時間戳記指定為默認值和自動更新值。 可以將當前時間戳記作為初始化列的默認值,自動更新值或同時作為兩者。 當前時間戳不能是一列的默認值,而另一列的自動更新值是不可能的。

  • 表中的任何單個TIMESTAMP列都可以用作初始化為當前日期和時間或自動更新的列。 這不必是第一TIMESTAMP列。

  • 如果為表中的第一個TIMESTAMP列指定了DEFAULT值,則不會忽略它。 默認值可以是CURRENT_TIMESTAMP或恆定的日期和時間值。

  • 要指定自動默認或更新的TIMESTAMP比第一個其他列,必須抑制為先自動初始化和更新行為TIMESTAMP通過顯式地分配一個固定列DEFAULT值(例如, DEFAULT 0DEFAULT '2003-01-01 00:00:00' )。 然后,對於另一個TIMESTAMP列,規則與第一個TIMESTAMP列相同,不同之處在於,如果同時省略了DEFAULTON UPDATE子句,則不會發生自動初始化或更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM