MySQL 日期类型及默认设置 (除timestamp类型外,系统不支持其它时间类型字段设置默认值)

admin6年前IT技术1778

MySQL 日期类型及默认设置  (除timestamp类型外,系统不支持其它时间类型字段设置默认值)

 

MySQL 日期类型及默认设置

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

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



    • 日期类型区别及用途

    • 日期类型的 default 设置

    • 常见的日期获取函数

    • 其他的内容

    • MySQL 日期类型及默认设置


日期类型区别及用途

MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。
将在“菜鸟教程”和百度获取的资料,整理成如下表格:

类型字节格式用途是否支持设置系统默认值
date3YYYY-MM-DD日期值不支持
time3HH:MM:SS时间值或持续时间不支持
year1YYYY年份不支持
datetime8YYYY-MM-DD HH:MM:SS日期和时间混合值不支持
timestamp4YYYYMMDD HHMMSS混合日期和时间,可作时间戳支持

日期类型的 default 设置

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

ts_time timestamp NOT NULL DEFAULT NOW();
  • 1

or

ts_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP();
  • 1

根据上表可知,除了 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();
  • 1

  • 2

  • 3

  • 4

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

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

date 创建失败

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

 date 创建失败2

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

 date 创建失败3

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

datetime 创建失败1

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

datetime 创建失败2

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

timestamp

常见的日期获取函数

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

select current_timestamp();
  • 1

MySQL当前时间戳

select current_date();
  • 1

MySQL当前日期

select current_time();
  • 1

当前时间

select now();
  • 1

获取当前时间

 

函数描述
NOW()返回当前的日期和时间
CURDATE()返回当前的日期
CURTIME()返回当前的时间
DATE()提取日期或日期/时间表达式的日期部分
EXTRACT()返回日期/时间按的单独部分
DATE_ADD()给日期添加指定的时间间隔
DATE_SUB()从日期减去指定的时间间隔
DATEDIFF()返回两个日期之间的天数
DATE_FORMAT()用不同的格式显示日期/时间


相关文章

社交营销的核心知识

1.拉新,裂变,自动传播2.价格战,社交形式?3.人:贪小便宜,精确匹配到客户的分类产品[根据大数据]|4.C2B的模式,提高单个SKU的订单量,降低单个相同SKU的生成成本,让用户享受到高品质的产品...

asp移动APP单页应用开发前端后端框架v1.0

asp移动APP单页应用开发前端后端框架v1.0简称aspwn  1.0在线演示 ˂a href="download/aspwn.zip" target="_blank"˃官方下载开发此套框...

javascript 的array数组保存到mysql数据库

 第一步在javascript里创建数组 var wordList = new Array();1第二步给后台传送数据之前要把数组变成字符串形式   wordL...

MobaXterm监控服务器的资源

MobaXterm监控服务器的资源

使用服务器的时候比较喜欢随时查看的服务器资源使用情况,比如内存,CPU,网速,磁盘使用等情况,一次偶然的机会发现了如果你发现你的会话窗口底部没有,可以这样开启: Settings→SSH→勾选Remo...

本人安装Magento2.4.6安装踩坑大集合

1.痛点1 composer 的版本查看命令输入错误,导致我以为我安装失败 composer --version或者 composer -Vcomposer create-proj...

汇成电动工具行业企业网站系统v12.1

汇成电动工具行业企业网站系统v12.1˂a target="_blank" href="download/jixie/jixieddgjv121.rar"˃官方下载汇成企业网站管理系统为中小企业免费建...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。