阅读好文章,请随手 点击上面,关注我们,免费订阅
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 | 混合日期和时间,可作时间戳 | 支持 |
日期类型的 default 设置
方式一:
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 作为默认值。
号内回复: 大数据 获取大数据视频
如果您觉得本文不错,请别忘了动动手指点击右上角分享到您的朋友圈!
一个聚百万人脉的技术圈子
一个聚百万人脉的技术圈子
JAVA乐园
▲长按二维码“识别”关注
JAVA乐园
▲长按二维码“识别”关注