Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【大数据视频】MySQL日期类型及默认设置

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

作者头像
BUG弄潮儿
发布于 2022-06-30 08:20:46
发布于 2022-06-30 08:20:46
3.5K02
代码可运行
举报
文章被收录于专栏:JAVA乐园JAVA乐园
运行总次数:2
代码可运行

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
代码运行次数:0
运行
AI代码解释
复制
方式一:
createTime timestamp NOT NULL DEFAULT NOW();
方式二:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
createTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
方式三:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL日期数据类型详解
MySQL有5种表示时间值的日期和时间类型,分别为、DATE,TIME,YEAR,DATETIME,TIMESTAMP。
星哥玩云
2022/08/17
10.5K0
MySQL日期数据类型详解
MySQL 中的日期时间类型
各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0。TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值。
星哥玩云
2022/08/18
7.1K0
【MySQL笔记】数字类型、时间和日期类型、字符串类型
使用MySQL数据库存储数据时,不同的数据类型决定了MySQL存储数据方式的不同。MySQL数据库提供了多种数据类型,其中包括数字类型、时间和日期类型、字符串类型。本期我们一起来学习MySQL的数据类型吧~
颜颜yan_
2022/12/01
4.3K0
【MySQL笔记】数字类型、时间和日期类型、字符串类型
【mysql】日期与时间类型
YEAR类型用来表示年份,在所有的日期时间类型中所占用的存储空间最小,只需要1个字节的存储空间。
兮动人
2022/03/12
4.4K0
关于 MySQL 数据类型
drop table if exists test_time; create table test_time(     year_value year,     date_value date,     time_value time,     datetime_value datetime,     timestamp_value timestamp )engine=innodb default charset=utf8 comment="测试时间表";
星哥玩云
2022/08/18
5890
MySQL—数据类型与约束
整数类型可分为五种:TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT
海盗船长
2020/08/28
1K0
MySQL时间类型差异
DATE 用于表示 年月日,如果实际应用值需要保存 年月日 就可以使用 DATE。
用户10325771
2023/03/01
2.7K0
第11章、数据类型
关键字 INT 是 INTEGER 的别名,关键字 DEC 和 FIXED 是 DECIMAL的别名。 在 MyISAM/MEMORY/InnoDB和NDB表中支持BIT 数据类型,BIT 数据类型用于存储 bit 值。
幺鹿
2018/08/21
1.7K0
第11章、数据类型
【小家SQL】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释
在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来认认真真的研究学习。最近看了一本关于MySql的书籍,打算全面的学习研究一遍。
YourBatman
2019/09/03
7.3K0
【小家SQL】MySql数据类型---日期时间类型的使用(含datetime和timestamp的区别) 0000-00-00 00:00:00问题解释
MySQL中的时间类型
时间是一类重要的数据,MySQL中有多种关于时间的类型可以选择。这篇文章主要介绍MySQL中的时间类型,主要参考MySQL文档:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-types.html
valineliu
2022/08/30
10.9K1
MySQL中的时间类型
浅析TIMESTAMP类型
日期与时间是非常重要的信息,在我们的系统中,几乎所有的数据表都用得到。原因是客户需要知道数据的时间标签,从而进行数据查询、统计和处理。因此,日期与时间类型也是我们最常用到的类型之一,今天就来聊一聊日期与时间类型中的TIMESTAMP类型。
GreatSQL社区
2023/02/23
1.6K0
MySQL数据库结构设计
在编码过程中,如果MySQL数据结构设计不好的话,会大大影响开发人员编码效率。比如说MySQL数据库表设计不规范,创建时间字段设计成cjsj,创建者字段设计成cjr或者cjz。这样的数据库表可读性和表意性相当差。下面我们就来讲讲如何规范设计数据库结构。
用户2032165
2018/12/06
2K0
MySQL数据库结构设计
数据库存储时间你用对了吗?
我们平时在开发中不可避免的要存储时间,比如我们要记录某条数据的创建时间、更新时间等等。数据库中有多种数据类型可以存储时间,那不同数据类型我们要怎么选择?
Java识堂
2021/01/22
2.3K0
数据库存储时间你用对了吗?
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
如题,今天这篇是一个刚认识不久的小师弟的投稿。交谈中感觉技术水平与代码素养非常高,关键是才大二呀。那会我应该还在玩泥巴吧,真是后生可畏。
JavaFish
2019/10/17
1.9K0
SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效
MySQL全字段类型概览
MySQL支持多种数据类型:数字类型,日期和时间类型,字符类型,空间类型和JSON类型。
@阿诚
2022/03/04
3.4K0
MySQL日期和时间类型笔记
最近在看《MySQL技术内幕:SQL编程》并做了笔记,这是一篇笔记类型博客,分享出来方便自己复习,也可以帮助其他人
SmileNicky
2019/10/26
1.9K0
MySQL操作之数据类型
MySQL提供了5种数据类型:整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制类型。
ha_lydms
2023/08/09
2500
MySQL操作之数据类型
警告!别再使用 TIMESTAMP 作为日期字段~
点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典 来源:JAVA日知录 在日常数据库设计中,几乎每张业务表都带有一个日期列,用于记录每条记录产生和变更的时间。比如用户表会有一个日期列记录用户注册的时间、用户最后登录的时间。又比如,电商行业中的订单表(核心业务表)会有一个订单产生的时间列,当支付时间超过订单产生的时间,这个订单可能会被系统自动取消。 日期类型虽然常见,但在表结构设计中也容易犯错,比如很多开发同学都倾向使用整型存储日期类型,同时也会忽略不同日期类型对于性能可能存在的潜在影响。
猿天地
2022/03/24
1.2K0
MySQL系列之日期和时间类型笔记
最近在看《MySQL技术内幕:SQL编程》并做了笔记,这是一篇笔记类型博客,分享出来方便自己复习,也可以帮助其他人
SmileNicky
2022/05/07
1.3K0
MySQL系列之日期和时间类型笔记
MySQL中timestamp和datetime,你用的对么?
在MySQL中,时间是咱们用到最多的类型,建表时,对于时间字段类型的选择,你是如何选择的呢?有人会说timestamp,也有人会说datetime,那么我们到底如何选择呢,它们又有什么区别?今天就和大家一起来看看。
xcbeyond
2020/03/25
3.4K0
MySQL中timestamp和datetime,你用的对么?
相关推荐
MySQL日期数据类型详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验