zoukankan      html  css  js  c++  java
  • 关于状态更新时间字段取值的问题

    create by:关彦明
    create time:2016-07-27
    -------------------------------------------------------------------------
    很多业务表中我们都会建两个字段:createTime、updateTime,为了写代码方便,在数据新增时会在业务代码里给createTime赋值,同时给updateTime也赋值; 
    在业务操作时,会更新updateTime时间值,如预约后取消预约,需要更新取消时间; 
    在采用单台业务服务器时,从业务代码里取时间值更新没有问题,采用多台服务器集群工作时,由于每台服务器上的时间可能不一致,导致出现的结果是更新时间比创建时间小; 
    如下图实例:
     
    是不是闹笑话了?呵呵~
     
    解决办法:
    推荐:时间值全部使用数据库服务器时间。
    (不推荐取业务服务器时间)
     
    MySQL:
    INSERT INTO tableName (createTime,updateTime) values(now(),now());
    
    UPDATE tableName SET updateTime = now() WHERE id = idValue;

    SQL Server:

    INSERT INTO tableName (createTime,updateTime) values(getdate(),getdate());
    
    UPDATE tableName SET updateTime = getdate() WHERE id = idValue;

    转载请注明原文地址: http://www.cnblogs.com/guanym/p/5710293.html

  • 相关阅读:
    TO DO List
    springboot 热部署
    <dependencyManagement>的作用
    人体工程学座椅
    temp
    temp
    声明式编程和命令式编程的本质区别
    weak first question
    Spring依赖注入方式和依赖来源
    SpringBoot 整合 H2 数据库
  • 原文地址:https://www.cnblogs.com/guanym/p/5710293.html
Copyright © 2011-2022 走看看