Openshift不会对MySQL的间隔作出反应

Openshift不会对MySQL的间隔作出反应,openshift,Openshift,我已经在locanhost和Openshift上测试了表test,我面临的问题是,在Openshift上,当我像下面这样查询数据WHERE arrivaltime()-INTERVAL 2 min和curtime()+INTERVAL 2 min之间的到达时间时,我没有得到任何返回,尽管在本地主机上我得到了路由9。在openshift上,我根据服务器时间插入到达时间。在localhost上,我根据本地时间插入到达时间,但当我将查询更改为以下形式时,WHERE time\u格式(到达时间,%H:%

我已经在locanhost和Openshift上测试了表
test
,我面临的问题是,在Openshift上,当我像下面这样查询数据
WHERE arrivaltime()-INTERVAL 2 min和curtime()+INTERVAL 2 min
之间的到达时间时,我没有得到任何返回,尽管在本地主机上我得到了路由9。在openshift上,我根据服务器时间插入到达时间。在localhost上,我根据本地时间插入到达时间,但当我将查询更改为以下形式时,
WHERE time\u格式(到达时间,%H:%I')=time\u格式(curtime(),“%H:%I”)
我在openshift上得到
9
,但我需要的响应是
+-2
分钟。我怎样才能修好它?或者某人是否拥有openshift帐户?如何测试下面的表和查询

谢谢你的帮助

测试表

CREATE TABLE test(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 arrivaltime Time  NOT NULL,
 route INT(11) NOT NULL   
)
04:15:15
插入数据:

INSERT INTO test(arrivaltime, route) values('04:16:00', 9)
SELECT route FROM test
WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE
此查询在Openshift上不起作用,而在localhost上起作用:

INSERT INTO test(arrivaltime, route) values('04:16:00', 9)
SELECT route FROM test
WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE
openshift curtime()

当我在openshift上查询这样的测试时,我得到了响应,但到达时间应该等于当前时间

SELECT route FROM test
WHERE time_format(arrivaltime,'%H:%i')= time_format(curtime() ,'%H:%i')

嗯,我不太擅长MySQL。也许有人可以改进我的问题。但我想问题在于您的服务器本地时间格式,或者MySQL在添加或减去时间后如何返回时间格式

对于这个问题,我建议使用这个查询,而不是像那样直接修改它

select route from test where arrivaltime between subtime(curtime(), '00:02:00') and addtime(curtime(), '00:02:00');
为了确定问题所在,您可以尝试使用此查询检查是否存在警告或错误

show warnings;
show errors;

你太棒了,我三周来一直在努力解决这个问题。非常感谢:)