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数据库中存入汉字报错的方法
May 06 MySQL
MySQL 表空间碎片的概念及相关问题解决
May 07 MySQL
MySQL的安装与配置详细教程
Jun 26 MySQL
mysql定时自动备份数据库的方法步骤
Jul 07 MySQL
MySQL里面的子查询的基本使用
Aug 02 MySQL
MySQL数据库查询进阶之多表查询详解
Apr 08 MySQL
MySQL三种方式实现递归查询
Apr 18 MySQL
pt-archiver 主键自增
Apr 26 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL选择合适的备份策略和备份工具
Jun 01 MySQL
MySQL范围查询优化的场景实例详解
Jun 10 MySQL
MySQL数据库之存储过程 procedure
Jun 16 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
php5中类的学习
2008/03/28 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
js判断鼠标同时离开两个div的思路及代码
2013/05/31 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
详解Python的Django框架中的模版继承
2015/07/16 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python下载微信公众号相关文章
2019/02/26 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
新东网科技Java笔试题
2012/07/13 面试题
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
工程业务员岗位职责
2013/12/31 职场文书
洗煤厂厂长岗位职责
2014/01/03 职场文书
小学家长评语大全
2014/04/16 职场文书
工作收入证明模板
2014/10/10 职场文书
初婚未育证明样本
2015/06/18 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
vue项目支付功能代码详解
2022/02/18 Vue.js
利用Python实时获取steam特惠游戏数据
2022/06/25 Python