我的服务器上安装了LAMP。服务器每5分钟从节点收到一个POST请求。服务器从POST请求中获取数据并将其保存在DB中。这个过程进行得很好,但突然间我发现某些条目的时间戳不正确,一些其他条目占用了相同的时间戳,然后又开始纠正时间戳。以下数据显示有五列,即temp,hum,lum,time和timestamp。 PHPmyadmin通过将默认值配置为当前时间戳来自动保存time is for saving timestamp received from POST request
和timestamp is current timestamp
。这不是一次性问题,而是始终如一地发生。可能是什么问题?
temp hum light time timestamp
Initially correct timestamp
24.52 59 75 Wed, 15/03/04, 20:40:00 2015-03-04 20:40:48
24.52 60 76 Wed, 15/03/04, 20:45:00 2015-03-04 20:45:48
24.52 60 75 Wed, 15/03/04, 20:50:00 2015-03-04 20:50:48
24.52 60 76 Wed, 15/03/04, 20:55:00 2015-03-04 20:55:48
23.87 62 75 Wed, 15/03/04, 21:10:00 2015-03-04 21:10:48
24.19 61 76 Wed, 15/03/04, 21:15:00 2015-03-04 21:15:48
Incorrect timestamp statrs here
24.19 60 0 Wed, 15/03/04, 21:25:00 2015-03-04 23:33:45
23.87 60 0 Wed, 15/03/04, 21:30:00 2015-03-04 23:33:45
24.19 59 0 Wed, 15/03/04, 21:35:00 2015-03-04 23:33:45
24.19 60 0 Wed, 15/03/04, 21:40:00 2015-03-04 23:33:45
23.87 61 0 Wed, 15/03/04, 21:45:00 2015-03-04 23:33:45
23.87 60 0 Wed, 15/03/04, 21:50:00 2015-03-04 23:33:45
23.87 60 0 Wed, 15/03/04, 22:00:00 2015-03-04 23:33:45
23.87 60 0 Wed, 15/03/04, 22:05:00 2015-03-04 23:33:45
23.87 60 0 Wed, 15/03/04, 22:10:00 2015-03-04 23:33:45
23.87 59 0 Wed, 15/03/04, 22:15:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 22:25:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 22:30:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 22:35:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 22:45:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 22:55:00 2015-03-04 23:33:45
23.55 61 0 Wed, 15/03/04, 23:10:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 23:15:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 23:20:00 2015-03-04 23:33:45
23.23 60 0 Wed, 15/03/04, 23:25:00 2015-03-04 23:33:45
23.55 60 0 Wed, 15/03/04, 23:30:00 2015-03-04 23:33:45
23.23 61 0 Wed, 15/03/04, 23:35:00 2015-03-04 23:42:03
23.23 60 0 Wed, 15/03/04, 23:40:00 2015-03-04 23:42:03
23.23 60 0 Wed, 15/03/04, 23:45:00 2015-03-05 21:53:46
23.23 60 0 Wed, 15/03/04, 23:50:00 2015-03-05 21:53:46
23.55 60 0 Wed, 15/03/04, 23:55:00 2015-03-05 21:53:46
23.55 60 0 Thu, 15/03/05, 00:00:00 2015-03-05 21:53:46
23.87 60 0 Thu, 15/03/05, 00:05:00 2015-03-05 21:53:46
23.87 60 0 Thu, 15/03/05, 00:10:00 2015-03-05 21:53:46
23.87 60 0 Thu, 15/03/05, 00:15:00 2015-03-05 21:53:46
23.87 60 0 Thu, 15/03/05, 00:20:00 2015-03-05 21:53:46
25.16 59 3 Thu, 15/03/05, 07:30:00 2015-03-05 21:53:46
25.16 59 5 Thu, 15/03/05, 07:40:00 2015-03-05 21:53:46
25.16 59 5 Thu, 15/03/05, 07:45:00 2015-03-05 21:53:46
25.16 59 6 Thu, 15/03/05, 07:50:00 2015-03-05 21:53:46
25.16 59 7 Thu, 15/03/05, 07:55:00 2015-03-05 21:53:46
25.16 59 8 Thu, 15/03/05, 08:05:00 2015-03-05 21:53:46
25.16 59 9 Thu, 15/03/05, 08:10:00 2015-03-05 21:53:47
25.16 59 9 Thu, 15/03/05, 08:15:00 2015-03-05 21:53:47
correct timestamp starts here
25.16 59 10 Thu, 15/03/05, 08:20:00 2015-03-05 08:20:48
25.16 59 10 Thu, 15/03/05, 08:25:00 2015-03-05 08:25:48
25.16 59 75 Thu, 15/03/05, 08:30:00 2015-03-05 08:30:48
答案 0 :(得分:1)
您没有显示插入数据的代码。因此我们只能推测。如果我理解的话,第一列是在客户端上发送Ajax请求的时间,时间戳是插入数据的时间。
有两种可能性:
我认为你的timestamp列在mysql中定义为timestamp default current_timestamp
,并且你没有插入任何值。如果它不是,它就会打开其他错误源的可能性,比如在保存数据之前对数据进行调整。