又出现这种奇异的问题了,求教波总,百思不得其解

见图,同一条sql语句,程序里面执行的结果是8条,而在navicat里面执行出来结果是9条,请问这是为啥呢:

QQ图片20180706165903.jpg

评论区

JFinal

2018-07-06 17:19

like 后面的条件换一个试试,例如换成 'oqm%'

flash866

2018-07-06 17:25

@JFinal 换了后仍然和图上是一样的结果

flash866

2018-07-06 17:31

@JFinal 波总,我仔细看了下数据库,推断出了大致的原因。这个问题和我上次的问题完全一样,都是因为我同时对两个字段进行了索引。刚截图里面少的那条数据,正好是另外一个字段值和其他记录不一样。看来是JDBC的问题,那应该如何解决这个问题呢?(比如,对A B两个字段进行了联合索引,会造成JDBC单独查询A中的某值时查不出来)

JFinal

2018-07-06 17:47

@flash866 升级 JDBC 试一试,在 jfinal 这个层面是解决不了的,因为 sql 的执行全是 底层 JDBC 接管的,jfinal 只是转调一下

flash866

2018-07-06 17:49

@JFinal 刚已升级到最新的mysql-connector-java-8.0.11 ,问题依旧。看来只能删除复合索引了,以后的项目得考虑换数据库弃用MYSQL了。

热门反馈

扫码入社