時間存儲
時間存儲是我們在MySQL中最常用的一種存儲類型,MySQL為我們提供了timestamp和datetime兩種數據類型,那么這兩者有什么區別,又該如何進行選擇呢
timestamp和datetime的區別
- datetime的默認值為null,timestamp默認值為當前系統時間
- datetime占用8個字節,timestamp占用4個字節
- datetime存的什么讀出來就是什么,timestamp存儲的時候會轉為utc存儲,讀出的時候也會轉換成當前時區
- timestamp所能存儲的時間范圍為:'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'。datetime所能存儲的時間范圍為:'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'。
如何選擇
- 如果時間范圍超過2038年,那自然選擇datetime
- 如果希望跨時區存儲不同地區時間,也選擇datetime
- timestamp適合用于記錄字段最后更新時間(老版本mysql,新版本datetime也可以支持)