MySQL日期类型及默认设置是什么
这篇文章主要介绍"MySQL日期类型及默认设置是什么",在日常操作中,相信很多人在MySQL日期类型及默认设置是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL日期类型及默认设置是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
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 作为默认值。
到此,关于"MySQL日期类型及默认设置是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!