zoukankan      html  css  js  c++  java
  • Mysql中字段类型之时间戳大坑

        

    一 、环境说明:

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

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

     

    二、如何入坑的

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

     

    三、坑中半死不活

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

     

    四、解决方案

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

     

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

     

            

  • 相关阅读:
    PageObject小结
    python函数默认参数坑
    编译Android 8.0系统 并刷入pixel
    CF 289 F. Progress Monitoring DP计数
    EDU 61 F. Clear the String 区间dp
    Educational Codeforces Round 55 G 最小割
    Educational Codeforces Round 55 E 分治
    hdu 6430 bitset暴力
    AC自动机+DP codeforces86C
    CF895C dp/线性基
  • 原文地址:https://www.cnblogs.com/Prozhu/p/7112794.html
Copyright © 2011-2022 走看看