• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MYSQL 更新时间自动同步与创建时间默认值共存有关问题_mysql

mysql 搞代码 7年前 (2018-06-07) 168次浏览 已收录 0个评论

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

本文作者:苏生米沿

本文地址:http://blog.csdn.net/sushengmiyan/article/details/50326259

在使用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.

MYSQL 更新时间自动同步与创建时间默认值共存有关问题_mysql

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

再看5.7版本的

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

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


欢迎大家阅读《MYSQL 更新时间自动同步与创建时间默认值共存有关问题_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MYSQL 更新时间自动同步与创建时间默认值共存有关问题_mysql
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址