回复不能贴图,我把问题重新发了下,这次更加奇怪了

第一次出现的问题图:

QQ图片20180706165903.jpg

这个图左侧可以看到在程序中查询的记录是8  而在navicat中是9.

然后,我新建了一个controller,执行上面同样的查询,结果却是正确的,是9,如图所示:

QQ图片20180706182207.png

结论:

1、 如果说是代码错误,但是同样的sql,在navicat中与程序执行的不一致,说明代码没错;

2、 如果说是jdbc错误,那为啥新建另外一个controller却又没有问题呢,所以应该也不是jdbc的错误。

PS:上次出现类似这个的问题(直接同样的SQL,在navicat正常,但是程序查询出来的结果是0)是通过删除索引解决的,但是这次删除了索引问题依然没能解决。

评论区

JFinal

2018-07-06 21:24

或许是某种现在无法猜测到的细微差别造成的,例如字符集的问题,字符的全角半角问题

mysql 控制台的字符集与 java 代码中字符集不同的问题

如果 JDBC 查询到的结果是正确的,那就没必要纠结 JDBC 的结果与控制台的结果是否一样,毕竟你的程序底层跑的是 JDBC

flash866

2018-07-11 21:25

@JFinal 嗯,这个问题我实在是搞不定,做了10年PHP开发重来没有遇到过这种怪事。我已经把数据库换成sqlserver了,目前尚未遇到坑。

热门反馈

扫码入社