时间类型

类型 大小(bytes) 范围 格式 小数点精度支持 用途
YEAR 1 1901/2155 YYYY 0 年份值
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 0 日期值
TIME 3 ‘-838:59:59’/‘838:59:59’ HH:MM:SS [0,6] 时间值或持续时间
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS [0,6] 混合日期和时间值
TIMESTAMP 4 1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 YYYYMMDD HHMMSS [0,6] 混合日期和时间值,时间戳

MySQL 中 timestamp 的最大值是 "2038-01-19 03:14:07"。这是因为 timestamp 数据类型在 MySQL 中是 4 字节的,它使用 32 位整数表示时间戳,只能存储到 2038 年。如果需要保存更长的时间,可以使用 datetime 类型。

timestamp 不为空就是修改、创建补充CURRENT_TIMESTAMP