日期时间类型

时间字段五种里最常用 DATETIME 和 TIMESTAMP。前者范围宽、不受时区改库影响;后者自动跟随当前时间、但 2038 年到期,选哪个看业务。

日期时间类型要点

日期时间类型示例

						CREATE TABLE orders (
						    id BIGINT UNSIGNED PRIMARY KEY,
						    created_at DATETIME NOT NULL,
						    paid_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
						);

日期时间类型对照

类型 占用 取值范围 格式 用途
DATE 3 字节 1000-01-01 到 9999-12-31 YYYY-MM-DD 生日、日期
TIME 3 字节 -838:59:59 到 838:59:59 HH:MM:SS 时长、时刻
YEAR 1 字节 1901 到 2155 YYYY 年份
DATETIME 8 字节 1000-01-01 00:00:00 到 9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 订单时间
TIMESTAMP 4 字节 1970-01-01 到 2038-01-19 YYYY-MM-DD HH:MM:SS 自动时间戳
避坑提醒:TIMESTAMP 上限 2038 年,做长期归档或历史数据别用它,老系统都踩过这个坑。
日期时间类型 · MySQL 数据类型 知识卡片
卡片 05 / 09 · MySQL 数据类型(1080×1440 速查卡片)

MySQL 数据类型知识点