MySQL 的日期类型如何设置默认值为当前系统时间?
目前只能使用timestamp 类型,且默认值设为 now() 或 current_timestamp() / CURRENT_TIMESTAMP。
MySQL 的日期类型有5种分别是: date、time、year、datetime、timestamp
类型 | 字节 | 格式 | 用途 | 是否支持设置系统默认值 |
---|---|---|---|---|
date | 3 | YYYY-MM-DD | 日期值 | 不支持 |
time | 3 | HH:MM:SS | 时间值或持续时间 | 不支持 |
year | 1 | YYYY | 年份 | 不支持 |
datetime | 8 | YYYY-MM-DD HH:MM:SS | 日期和时间混合值 | 不支持 |
timestamp | 4 | YYYYMMDD HHMMSS | 混合日期和时间,可作时间戳 | 支持 |
方式一:
createTime timestamp NOT NULL DEFAULT NOW();
方式二:
createTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();
方式三:
createTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
根据上表可知,除了 timestamp 类型支持系统默认值设置,其他类型都不支持。
如果建表语句中有:
createTime time NOT NULL DEFAULT NOW();
createYear year NOT NULL DEFAULT NOW();
createDate date NOT NULL DEFAULT CURRENT_TIMESTAMP();
createDatetime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP();
都会报错。所以想要设置某个日期列的默认值为当前时间,只能使用 timestamp 类型,并设置 DEFAULT NOW() 、DEFAULT CURRENT_TIMESTAMP() 、DEFAULT CURRENT_TIMESTAMP 作为默认值。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有