时间存储
时间存储是我们在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也可以支持)