2017-03-17 72 views
0

我是MySQL數據庫中的新成員。Datetime vs Timestamp字段

你會推薦在表格創建中使用日期時間或時間戳字段以及爲什麼。 我使用MySQL 5.7和innodb引擎。

謝謝

+1

datetime字段只包含日期年月,而時間戳fileld包含小時分鐘也...因此,它取決於您的要求,以及如何數據存儲....但我會建議採取時間戳fileld,這將很容易過濾並訂購數據 –

+2

@AnkitAgrawal:dateTIME不僅包含「日期年份」。它也包含時間。因此,名稱... – Nanne

+0

你也可以看到http://stackoverflow.com/questions/409286/should-i-use-field-datetime-or-timestamp –

回答

1

對於創建領域,我會使用時間戳。這種方式不會遇到時區問題,這可能會非常棘手。

對於例如生日,時間戳並非有用,因爲您必須處理1970年1月1日的EPOCH又名時間戳「0」。但對於創建時間而言,這應該不重要。

0

MySQL中的時間戳一般用於跟蹤對記錄的更改,並且每次記錄更改時都會更新。如果你想存儲一個特定的值,你應該使用日期時間字段。

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

所以這是最明智的使用日期時間爲大多數數據庫操作

0

我會用TIMESTAMP用於任何需要,因爲它支持的東西一樣ON UPDATE CURRENT_TIMESTAMP或有CURRENT_TIMESTAMP作爲默認值進行自動管理。

這不可能與DATETIME但我更喜歡格式更好,因爲你不需要轉換它。所以我會用它來做其他事情。

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