关于状态更新时间字段取值的问题
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