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 性能监控及调优
Apr 06 MySQL
详解MySQL的半同步
Apr 22 MySQL
MySQL 角色(role)功能介绍
Apr 24 MySQL
MySQL 逻辑备份与恢复测试的相关总结
May 14 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
浅谈MySQL函数
Oct 05 MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
Oct 15 MySQL
MySQL常见优化方案汇总
Jan 18 MySQL
Mysql存储过程、触发器、事件调度器使用入门指南
Jan 22 MySQL
Mysql查询时间区间日期列表,不会由于数据表数据影响
Apr 19 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
Apr 29 MySQL
DQL数据查询语句使用示例
Dec 24 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实现从上传文件创建缩略图的方法
2015/04/02 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
2016/12/13 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
理解Python中的With语句
2016/03/18 Python
python实现智能语音天气预报
2019/12/02 Python
Python集合操作方法详解
2020/02/09 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
戴尔荷兰官方网站:Dell荷兰
2020/10/04 全球购物
公司人力资源的自我评价
2014/01/02 职场文书
英文商务邀请信
2014/01/22 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
创业女性典型材料
2014/05/02 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
安全伴我行主题班会
2015/08/13 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
Python安装使用Scrapy框架
2022/04/12 Python
Django框架中表单的用法
2022/06/10 Python