前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【大数据视频】MySQL日期类型及默认设置

【大数据视频】MySQL日期类型及默认设置

作者头像
BUG弄潮儿
发布2022-06-30 16:20:46
3.2K0
发布2022-06-30 16:20:46
举报
文章被收录于专栏:JAVA乐园

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 设置

代码语言:javascript
复制
方式一:
createTime timestamp NOT NULL DEFAULT NOW();
方式二:
代码语言:javascript
复制
createTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();
代码语言:javascript
复制
方式三:
代码语言:javascript
复制
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 作为默认值。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 日期类型的 default 设置
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档