在MySQL查询中获得意外的行数

时间:2012-09-24 11:59:12

标签: mysql

我正在JAVA中使用JDBC连接对MySQL数据库执行以下两个查询。

1:

SELECT count(*) 
FROM transaction 
WHERE 
    (entry_time between STR_TO_DATE('2012-09-24 00:00:00','%Y-%m-%d %k:%i:%s') 
    AND STR_TO_DATE('2012-09-24 23:59:59','%Y-%m-%d %k:%i:%s'))

2:

SELECT * 
FROM transaction 
WHERE 
    (entry_time between STR_TO_DATE('2012-09-24 00:00:00','%Y-%m-%d %k:%i:%s') 
    AND STR_TO_DATE('2012-09-24 23:59:59','%Y-%m-%d %k:%i:%s'))

当我不断搜索时,我每次都会得到不同的记录。 例如。

  1. 68
  2. 72
  3. 58
  4. 69
  5. 我在日志文件中打印输出,发现对于第一个查询,它带来了实际数据库中的值。当执行第二个查询并且正在进行某个过程时,它会给出不同的值。为什么会这样?

    我的第二个问题是针对第二个问题我也获得了“2012-09-23”的值。但是根据指定的范围,它不应该带来它。

    我使用的是MySQL 5.1和JAVA 1.6.0_14。这是一个Web应用程序,现在位于生产服务器上。我无法调试的地方。 :(问题只发生在生产服务器上,测试设置工作正常。感谢任何帮助。

0 个答案:

没有答案