MySQL中CURRENT_TIMESTAMP的使用方式

作者:爱上香锅的麻辣 时间:2024-01-12 20:10:29 

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的使用方式

来源:https://blog.csdn.net/u011983531/article/details/71305212

标签:MySQL,CURRENT,TIMESTAMP
0
投稿

猜你喜欢

  • Python代码执行时间测量模块timeit用法解析

    2023-06-13 16:14:04
  • 解决缩小图标变样问题

    2007-10-08 19:13:00
  • 捕捉并保存ASP运行错误的函数代码

    2012-11-30 20:24:43
  • Oracle数据库中SQL语句的优化技巧

    2024-01-27 01:33:27
  • Python Paramiko上传下载sftp文件及远程执行命令详解

    2021-06-20 16:35:09
  • 详解MySQL存储过程的创建和调用

    2024-01-24 18:06:21
  • Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答

    2023-05-18 19:52:33
  • python 实现查找文件并输出满足某一条件的数据项方法

    2021-05-10 11:51:30
  • pygame实现烟雨蒙蒙下彩虹雨

    2023-05-07 01:19:36
  • 跨浏览器的CSS固定定位{position:fixed}

    2007-05-11 16:50:00
  • python中查找excel某一列的重复数据 剔除之后打印

    2022-10-27 06:34:00
  • Python中的sort()方法使用基础教程

    2022-03-07 21:44:09
  • pyqt5圆形label显示打开的摄像头功能

    2022-09-16 04:10:21
  • 在python中将字符串转为json对象并取值的方法

    2022-12-19 02:22:37
  • 在ASP中使用SQL语句之9:表单操作

    2007-08-11 13:18:00
  • YUI Compressor 组件压缩 JavaScript 的一些原理

    2009-08-02 20:22:00
  • PHP制作图形验证码代码分享

    2024-05-11 09:26:01
  • python 计算数组中每个数字出现多少次--“Bucket”桶的思想

    2023-06-28 19:37:55
  • Python tkinter布局与按钮间距设置方式

    2023-09-28 23:43:27
  • django2+uwsgi+nginx上线部署到服务器Ubuntu16.04

    2022-01-15 17:03:09
  • asp之家 网络编程 m.aspxhome.com