MySQL中CURRENT_TIMESTAMP的使用方式


Posted in MySQL onNovember 27, 2021

CURRENT_TIMESTAMP的使用

众所周知,MySQL的日期类型可以使用CURRENT_TIMESTAMP来指定默认值,但是这个跟MySQL的版本及日期的具体类型有关,只有5.6之后的版本才能使用CURRENT_TIMESTAMP作为DATETIME的默认值。

例如:

ALTER TABLE t_user ADD update_time DATETIME DEFAULT CURRENT_TIMESTAMP

在5.6之前的版本,使用CURRENT_TIMESTAMP作为默认值时,就会出现下面的错误

[Err] 1067 - Invalid default value for 'update_time'

在MySQL 5.6.5版本之前,DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP只适用于TIMESTAMP,而且一张表中,最多允许一个TIMESTAMP字段采用该特性。 从MySQL 5.6.5开始, DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP同时适用于TIMESTAMP和DATETIME,且不限制数量。

timestamp使用CURRENT_TIMESTAMP报错

项目出现如下错误:

Error updating database.

Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'createTime' cannot be null

数据模型如下:

/* 创建时间不可为空*/
  createTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ,
  /* 更新时间不可为空*/
  updateTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ,

经过一系列的问题排查,定位到是因为不同版本的MySQL数据库全局变量“explicit_defaults_for_timestamp”的问题。

-- 查看explicit_defaults_for_timestamp默认值
SHOW GLOBAL VARIABLES LIKE "explicit_defaults_for_timestamp"; 

-- 修改explicit_defaults_for_timestamp默认值
SET @@global.explicit_defaults_for_timestamp=OFF;

参数值为"ON"的情况:

MySQL中CURRENT_TIMESTAMP的使用方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

MySQL 相关文章推荐
MySQL kill不掉线程的原因
May 07 MySQL
mysql数据库入门第一步之创建表
May 14 MySQL
分析MySQL抛出异常的几种常见解决方式
May 18 MySQL
SQL实现LeetCode(180.连续的数字)
Aug 04 MySQL
Node-Red实现MySQL数据库连接的方法
Aug 07 MySQL
一文搞清楚MySQL count(*)、count(1)、count(col)区别
Mar 03 MySQL
MySQL中IO问题的深入分析与优化
Apr 02 MySQL
MySQL中JOIN连接的基本用法实例
Jun 05 MySQL
MySQL数据库配置信息查看与修改方法详解
Jun 25 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
Jul 07 MySQL
MySQL存储过程及语法详解
Aug 05 MySQL
SQL Server数据库的三种创建方法汇总
May 08 MySQL
MySQL Innodb索引机制详细介绍
Nov 23 #MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 #MySQL
MySQL数据库索引的最左匹配原则
Nov 20 #MySQL
mysql 联合索引生效的条件及索引失效的条件
Nov 20 #MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 #MySQL
浅谈MySql整型索引和字符串索引失效或隐式转换问题
Nov 20 #MySQL
mysql5.7的安装及Navicate长久免费使用的实现过程
You might like
php生成zip文件类实例
2015/04/07 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
简单谈谈Python中的闭包
2016/11/30 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
Python socket聊天脚本代码实例
2020/01/02 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
浅谈keras中loss与val_loss的关系
2020/06/22 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
Python多分支if语句的使用
2020/09/03 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
教师节促销活动方案
2014/02/14 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python