首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openshift对MySQL的间隔没有反应

问Openshift对MySQL的间隔没有反应
EN

Stack Overflow用户
提问于 2015-06-19 08:23:15
回答 1查看 76关注 0票数 2

我已经在locanhost和Openshift上测试了表test,我面临的问题是,在openshift上,当我查询像这个WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE这样的数据时,我什么也得不到,尽管在本地主机上,我将返回路由9。在openshift上,我将根据服务器时间插入到达时间。在本地主机上,我将根据本地时间插入到达时间,但当我将查询更改为WHERE time_format(arrivaltime,'%H:%i')= time_format(curtime() ,'%H:%i')形式时,我将在openshift上获得9,但我需要响应为+- 2分钟。我怎么才能修好它?或者有人有一个openshift帐户,如何测试表和下面的查询?

我很感谢你的帮助。

测试表

代码语言:javascript
复制
CREATE TABLE test(
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 arrivaltime Time  NOT NULL,
 route INT(11) NOT NULL   
)

插入数据:

代码语言:javascript
复制
INSERT INTO test(arrivaltime, route) values('04:16:00', 9)

此查询在Openshift上不工作,它在localhost:上工作。

代码语言:javascript
复制
SELECT route FROM test
WHERE arrivaltime BETWEEN curtime() - INTERVAL 2 MINUTE AND curtime() + INTERVAL 2 MINUTE

openshift curtime()

代码语言:javascript
复制
04:15:15

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

代码语言:javascript
复制
SELECT route FROM test
WHERE time_format(arrivaltime,'%H:%i')= time_format(curtime() ,'%H:%i')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-21 15:45:00

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

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

代码语言:javascript
复制
select route from test where arrivaltime between subtime(curtime(), '00:02:00') and addtime(curtime(), '00:02:00');

此外,为了确定问题所在,也许可以使用此查询来检查是否存在警告或错误。

代码语言:javascript
复制
show warnings;
show errors;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30933408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档