一 、环境说明:

在目前项目中,有这样的一张表,用来记录会议的相关信息,例如:会议的内容、会议的参会人员、会议的地点、会议的状态(会议是否已结束、会议是否被撤销)、会议的开始时间以及该条信息的创建时间。

会议的开始时间和信息的创建时间的类型都设置为了timestamp,并且默认值是CURRENT_TIMESTAMP。

 

二、如何入坑的

目前有这样的一个需求:用户发起的会议可以手动的进行撤销的操作,后台的逻辑自然需要更新该条会议信息,到了这里问题就来了:我手动更新了该条信息之后,之前设置好的会议开始时间,居然变成了该条sql语句执行成功时的时间了,这样就有点忒尴尬的。

 

三、坑中半死不活

在遇到了这个问题之后,然后就自然而然的检查自己的代码,看看自己执行sql的同时,是否把时间给更新了,发现了一下没有,突然人就瞢逼了,what,还能出现这个情况,然后同事提醒了一下,是不是表中字段类型设置为了timestamp的缘故,查了下百度,真的是这个原因。

 

四、解决方案

由于自己在建立表的时候,将时间字段都设置为了时间戳timestamp,并且默认时间为CURRENT_TIMESTAMP,所以在执行更新语句的时间,该会议开始时间的字段也会进行更新,以保证时间是当前系统的时间。从而导致了会议时间突然变更的这个神马情况。

 

自己在工作遇到了这种问题,在这里记录下来,以便后期不要在采坑。

 

        

Mysql中字段类型之时间戳大坑的更多相关文章

  1. Mysql中字段类型之时间戳大坑2

      本文的内容依旧是讨论mysql字段类型为时间戳timestamp的问题,在遇到了之前的那个问题之后,今天测试人员又给我提了一个bug,是在前端页面提交会议表单的时候,选择了一个会议时间(2059年 ...

  2. MySQL中字段类型为timestamp的小坑

    之前遇到过一个MySQL的字段为timestamp类型的小坑. MySQL中一个字段存储时间类型数据的时候,该字段的类型如果为timestamp类型的话,最多只能存储到2038-01-19 11:14 ...

  3. mysql中字段类型是datetime时比较大小问题

    select sum(studychj) as tofflinejz from afterline where studybegin >= '2010-01-01 00:00:00' and s ...

  4. Mysql中字段类型不一致导致索引无效

    修改后 详细见楼下链接 http://ustb80.blog.51cto.com/6139482/1287847

  5. 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题

    今天在做项目过程中,查询一个表中数据时总碰到这个问题:      java.sql.SQLException:Value '0000-00-00' can not be represented as ...

  6. 修改MySQL中字段的类型和长度

    MySQL修改字段类型的命令是: mysql> alter table 表名 modify column 字段名 类型; 假设在MySQL中有一个表为:address,有一个字段为city 初始 ...

  7. MySQL 常用字段类型,介绍及其建表使用方法经验分享

    由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其 ...

  8. 一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.简述MySQL中索引类型对数据库的性能的影响 2.RDB和AOF机制 3.Redis的过期键的删除策略 4.Redis ...

  9. Oracle与mysql的字段类型整理

    Oralce的字段类型整理如下: Mysql的字段类型整理如下: 最后面一栏是对应JAVA的基本类型.希望对初学者有用,初学者在学习JAVA的时候,不知道怎么把JAVA的对象指向到ORALCE或者MY ...

随机推荐

  1. 幸好会java

    转做android的可能性又往前增加了一分.

  2. 70个shell经常使用操作

    1) 怎样向脚本传递參数 ? ./script argument 样例: 显示文件名脚本 ./show.sh file1.txt cat show.sh #!/bin/bash echo $1 2) ...

  3. ps aux|awk -F'[ ]+' '$3>90{print $2}'|xargs -n1 kill -9

    ps aux|awk -F'[ ]+' '$3>90{print $2}'|xargs -n1 kill -9

  4. 数论 + 公式 - HDU 4335 What is N?

    What is N? Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=4335 Mean: 给你三个数b.P.M,让你求有多少个n满 ...

  5. jQuery替换内容

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. Linux系统下如何查看物理内存占用率

    Linux系统下如何查看物理内存占用率 Linux下看内存和CPU使用率一般都用top命令,但是实际在用的时候,用top查看出来的内存占用率都非常高,如:Mem:   4086496k total, ...

  7. 解决cookie跨域访问.2

    v一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入 ...

  8. 28Mybatis_查询缓存-二级缓存-二级缓存测试-

    二级缓存原理:

  9. Java-----多线程sleep(),join(),interrupt(),wait(),notify()的作用

    关于Java多线程知识可以看看<Thinking in Java >中的多线程部分和<Java网络编程>中第5章多线程的部分 以下是参考<<Java多线程模式> ...

  10. linux下解压 tar.bz2

    tar xvfj xxx.tar.bz2 转自: http://www.360doc.com/content/12/0907/16/8006573_234845810.shtml