mysql默认时间怎么不同步_MYSQL 更新时间自动同步与创建时间默认值共存问题

本文作者:苏生米沿

在使用SQL的时候,希望在更新数据的时候自动填充更新时间,那么在mysql中是如何实现的呢?

如创建表users

CREATE TABLE RS_SIGNUPUSER (

ID VARCHAR(36) COMMENT '主键(业务功能无关)',

USERNAME VARCHAR(50) COMMENT '姓名',

USERGENDER VARCHAR(3) DEFAULT '0' COMMENT '性别0男1女',

IDCARDNUMBER VARCHAR(18) COMMENT '身份证号码',

USERNATION VARCHAR(6) COMMENT '民族',

BIRTHDAY DATE COMMENT '生日',

USERAGE INTEGER COMMENT '年龄',

MOBILEPHONE VARCHAR(11) COMMENT '手机号码',

BZ VARCHAR(6) COMMENT '备注',

CREATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',

CREATEUSERID VARCHAR(36) COMMENT '创建人',

PX INTEGER COMMENT '排序',

UPDATEUSERID VARCHAR(20) COLLATE utf8_bin COMMENT '更新人',

UPDATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间',

CONSTRAINT

PRIMARY KEY (ID),

UNIQUE KEY(ZONECODE,USERZYBM)

) COMMENT ='注册用户表';其中,UPDATETIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NULL COMMENT '更新时间',会在更新的时候自动填充。啦啦啦。高兴吧。

不要高兴如此早,如果你使用的是mysql5.4版本,那么你表创建的时候都会报错,别说更新时间了,看:

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

出错鸟,创建表就失败了。

看5.5版本的时间戳文档:http://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html

One TIMESTAMP column in a table can have the current timestamp as the default value for initializing the column, as the auto-update value, or both. It is not possible to have the current timestamp be the default value for one column and the auto-update value for another column.

0818b9ca8b590ca3270a3433284dd417.png

可以看到这个版本对时间戳有限制。

再看5.7版本的

http://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html

已经没有这个限制了。我觉得,低版本的就只能另想办法,手动或者使用触发器来做更新时间这件事情啦。要么就直接升级版本解决问题。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HOJ-2662Pieces Assignment(状态压缩,动态规划)

Pieces Assignment Source : zhouguyue Time limit : 1 sec Memory limit : 64 M Submitted : 415, Accepted : 149 Background 有一个n*m的棋盘(n、m≤80,n*m≤80)要在棋盘上放k(k≤20)个棋子,使得任意两个棋子不相邻(每个棋子最多和周围4个棋子相…

python代码技巧_让你python代码更快的3个小技巧

大家好!今天呢,我们来聊一聊如何加速你的 python 代码。Python 语言的优点可以列举出许多,语法简单易懂、模块丰富、应用广泛等等。但是世界上没有有完美的东西,python 一个明显缺点就是运行速度慢,至少跟 C 语言没法比…

《5》CentOS7.0+OpenStack+kvm云平台的部署—组态Horizon

感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正!假设转载。请保留作者信息。 博客地址:http://blog.csdn.net/qq_21398167 原博文地址:http://blog.csdn.n…

python怎么打开一个窗口_python – 使按钮一次只打开一个窗口(通过关闭Toplevel窗口启用按钮)...

我希望NewWinButton一次只创建一个新窗口,这意味着如果if NewWin.winfo_exists() 1:NewWinButton.config(statedisabled)else:NewWinButton.config(statenormal)如果我在新窗口中添加一个按钮(本例中为QuitButton),我可以使这个工作:import tkinter as tkroot tk.…

从此走上一条iOS程序猿不归路。。。

新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的…

springboot mysql事物_在Spring Boot中使用数据库事务

关于数据库访问还有一个核心操作那就是事务的处理了,前面两篇博客小伙伴们已经见识到Spring Boot带给我们的巨大便利了,其实不用猜,我们也知道Spring Boot在数据库事务处理问题上也给我们带来惊喜,OK,废话不多说&#…

什么是JSONP以及它是怎么产生的

什么是JSONP以及它是怎么产生的 1.什么是jsonp JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式…

cinder连接mysql数据库_Openstack入门篇(十六)之Cinder服务的部署与测试

1.理解块存储服务操作系统获得存储空间的方式一般有两种:通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区、格式化、创建文件系统;或者直接使用裸硬盘存储数据(数据库)通过 NFS、CIFS 等 协议,mount 远程的文件系统第一种…

Mysql经常使用命令

1.导出整个数据库 mysqldump -u username -p --default-character-setlatin1 数据库名 > 导出的文件名称(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u username -p 数据库名 表名> 导出的文件名称 mysqldump …

stack heap java_java中的Heap 和 Stack | 学步园

1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与…

JavaScript密码复杂度

<!DOCTYPE html><html><head lang"en"> <meta charset"UTF-8"> <title>密码复杂度</title></head><body><script type"text/javascript"> //密码复杂度var pwprompt("请输入密…

最后关于Pipeline完整的图如下:

最后关于Pipeline完整的图如下&#xff1a; 转载于:https://www.cnblogs.com/aaa6818162/p/5077988.html

amr 转mp3 java_JAVA 音频转换AMR 转MP3,OS,Linux cent os 7

场景近期在做微信开发时&#xff0c;需要获取用户发给公众服务号的语音留言。而从微信服务端下载来的语音格式却是amr的格式&#xff0c;同样的你手机录音、Android语音等也都是生成amr格式文件。但当你想在web页面去播放此文件时&#xff0c;就困难了。因为无论是当前HTML5的标…

input hidden用法

之前获取数据传数据&#xff0c;都是写在全局变量里&#xff0c;今天老板告诉我说用input hidden来存&#xff0c;我百度了一下&#xff0c;确实是个好方法&#xff0c;记录之&#xff1a; 1 隐藏域在页面中对于用户是不可见的&#xff0c;在表单中插入隐藏域的目的在于收集或发…

java 静态方法 多线程_Java静态方法的线程安全性问题

如果多个线程同时访问同一个静态方法&#xff0c;后一个线程传递的参数值会覆盖前一个线程传递的参数值吗&#xff1f;代码示例如下&#xff1a;被访问的静态资源&#xff1a;public class C {public static void test(String[] value) throws InterruptedException{Thread.sle…

dragloader.js帮助你在页面原生滚动下实现Pull Request操作

dragloader.js是一个面向移动Web开发的JavaScript库&#xff0c;帮助开发者在使用页面原生滚动时&#xff0c;模拟上/下拉手势&#xff0c;实现Pull Request操作。 在移动设备上&#xff0c;一般会使用 drag down 手势实现加载最新 使用 drag up 手势实现加载更多 dragloader样…

怎么运行java虚拟机_Java代码如何运行在Java虚拟机中

我们都知道要运行Java代码就必须要有JRE&#xff0c;也就是Java运行时环境&#xff0c;JRE中包含了Java程序的必需组件&#xff0c;包括Java虚拟机以及Java核心类库&#xff0c;然而运行C代码则不需要额外的运行时环境&#xff0c;只需要把代码编译成CPU能识别的指令即可&#…

java 验证码 添加背景图_java登陆界面怎么加背景图 会的我加你

publicvoiduserInit(){this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭框架的同时结束程序this.setSize(500,300);//设置框架大小为长500,宽300this.setResizable(fa...public void userInit(){this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关…

【AJAX】AJAX实现搜索信息自己主动推荐并补全

好久没有继续看AJAX的视频教程了,今天就将最后一个教程案例做完。我们在搜索引擎中输入文字时文本框下会提示对应的信息&#xff0c;这个案例就是实现这样的基本功能&#xff0c;代码比較粗糙还须要进一步完好&#xff0c;当中有些地方也须要向大神们请教一下。完毕效果截图&am…

n个骰子的点数 java_n个骰子的点数和为s的概率集合输出(Java)

问题描述&#xff1a;把n个骰子仍在地上&#xff0c;所有骰子朝上一面的点数之和为s,输入n,打印出s的所有可能出现的概率问题分析&#xff1a;这是一道应用动态规划思想的题目&#xff0c;而动态规划最难的就是要找最优子结构。并采取一种称为备忘录的方法避免重复计算。因为备…