千家信息网

MySQL日期类型及默认设置是什么

发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,这篇文章主要介绍"MySQL日期类型及默认设置是什么",在日常操作中,相信很多人在MySQL日期类型及默认设置是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MyS
千家信息网最后更新 2024年12月01日MySQL日期类型及默认设置是什么

这篇文章主要介绍"MySQL日期类型及默认设置是什么",在日常操作中,相信很多人在MySQL日期类型及默认设置是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL日期类型及默认设置是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MySQL 的日期类型如何设置默认值为当前系统时间?

目前只能使用timestamp 类型,且默认值设为 now() 或 current_timestamp() / CURRENT_TIMESTAMP。

MySQL 的日期类型有5种分别是: date、time、year、datetime、timestamp

类型字节格式用途是否支持设置系统默认值
date3YYYY-MM-DD日期值不支持
time3HH:MM:SS时间值或持续时间不支持
year1YYYY年份不支持
datetime8YYYY-MM-DD HH:MM:SS日期和时间混合值不支持
timestamp4YYYYMMDD 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日期类型及默认设置是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0