MySQL 日期类型及默认设置

编程知识 行业动态 更新时间:2024-06-13 00:21:44

MySQL 日期类型及默认设置

之前在用 MySQL 新建 table,创建日期类型列时遇到了一些问题,现在整理下来以供参考。

MySQL 的日期类型如何设置当前时间为其默认值?
**答:**请使用 timestamp 类型,且 默认值设为 now() 或 current_timestamp() 。


    • MySQL 日期类型及默认设置
      • 日期类型区别及用途
      • 日期类型的 default 设置
      • 常见的日期获取函数
      • 其他的内容

日期类型区别及用途

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

关于 default 设置,通常情况下会使用当前时间作为默认值。
Example:

ts_time timestamp NOT NULL DEFAULT NOW();

or

ts_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();

根据上表可知,除了 timestamp 类型支持系统默认值设置,其他类型都不支持。
如果建表语句中有:

ts_time1 time NOT NULL DEFAULT NOW();
ts_time3 yearNOT NULL DEFAULT NOW();
ts_time2 date NOT NULL DEFAULT CURRENT_TIMESTAMP();
ts_time2 datetime NOT NULL DEFAULT CURRENT_TIMESTAMP();

都会报错。所以想要设置某个日期列的默认值为当前时间,只能使用 timestamp 类型,并设置 DEFAULT NOW() 或 DEFAULT CURRENT_TIMESTAMP() 作为默认值。

date 类型默认值使用 current_date() 创建失败

date 类型默认值使用 now() 创建失败

date 类型默认值使用 current_timestamp() 创建失败

datetime 类型默认值使用 current_timestamp() 创建失败

datetime 类型默认值使用 now() 创建失败

timestamp 类型默认值使用 now() 创建成功

常见的日期获取函数

MySQL中有一些日期函数可供我们使用,我们可以使用 ” select 函数名() ; ” 的 sql 查看它们的返回值。同时也可以使用 “select 自定义函数名();”,调用我们自己定义的函数。
Eample:

select current_timestamp();

select current_date();

select current_time();

select now();

参照“w3School相关内容”,其他常见的日期函数如下

函数

描述

NOW()

返回当前的日期和时间

CURDATE()

返回当前的日期

CURTIME()

返回当前的时间

DATE()

提取日期或日期/时间表达式的日期部分

EXTRACT()

返回日期/时间按的单独部分

DATE_ADD()

给日期添加指定的时间间隔

DATE_SUB()

从日期减去指定的时间间隔

DATEDIFF()

返回两个日期之间的天数

DATE_FORMAT()

用不同的格式显示日期/时间

其他的内容

更多的MySQL Date 类型或 Date 处理函数,请移步:
MySQL 数据类型 – 菜鸟教程网
SQL Date 函数 – W3School
MySQL日期时间函数大全 – zeroone

更多推荐

MySQL 日期类型及默认设置

本文发布于:2023-04-01 02:58:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/495fe32a70ec1ca1fd54f222f0acb35a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:默认设置   日期   类型   MySQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!