簡體   English   中英

日期時間與時間戳字段

[英]Datetime vs Timestamp field

我是MySQL數據庫的新手。

您是否建議在表創建中使用日期時間或時間戳字段以及原因。 我正在使用MySQL 5.7和innodb引擎。

謝謝

對於創建字段,我會使用時間戳。 你不會以這種方式遇到時區問題,這可能相當棘手。

時間戳對於例如生日沒有用,因為你必須處理EPOCH又名時間戳'0',即1970年1月1日。但是對於創建時間它應該沒關系。

我會將TIMESTAMP用於需要自動管理的任何內容,因為它支持ON UPDATE CURRENT_TIMESTAMPCURRENT_TIMESTAMP作為默認值。

使用DATETIME是不可能的,但我確實更喜歡格式,因為您不需要轉換它。 所以我會把它用於其他一切。

如果您需要一種可以自動生成的靈活格式,那么您可能必須使用TIMESTAMP並在需要時進行轉換。

MySQL中的時間戳通常用於跟蹤記錄的更改,並且通常在每次更改記錄時更新。 如果要存儲特定值,則應使用datetime字段。

如果您想要在使用UNIX時間戳或本機MySQL日期時間字段之間做出決定,請使用本機格式。 您可以在MySQL中以這種方式進行計算("SELECT DATE_ADD(my_datetime, INTERVAL 1 DAY)") ,當您查詢記錄時,可以很容易地將值的格式更改為UNIX時間戳("SELECT UNIX_TIMESTAMP(my_datetime)")如果你想用PHP操作它。

因此,最理想的做法是將datetime用於大多數數據庫操作

暫無
暫無

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

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