mysql查询错误结果,难道是bug吗
mysql 版本5.5.23-log
java 无框架,使用c3p0 驱动用的是 mysql-connector-java-5.1.13版本
今天遇到一个非常郁闷的问题,百思不得解,望高手解决。
现有表A 有一条数据主键ID为1
然后通过请求进入方法M,此方法有两个查询语句,第一句为任意sql语句,第二句是查询A表主键ID为1的那条数据。
用调试模式,当代码执行到第二句查询sql语句的时候暂停(此时第二句未执行),然后通过管理工具把表A主键ID为1的数据删除,然后把代码继续往下执行,你们猜什么结果,居然能查询到A表主键ID为1的那条数据,这不奇怪吗?明明就删除了,但是还能查询得到,太奇怪了,难道说执行第一句的时候就把所有数据库都查询下来缓存了吗。
还有就是,如果进入方法M,在第一句sql也不执行的时候暂停(也就是说一句都不执行的情况下),然后删除A表主键ID为1的数据,这个时候第二句就查询不到了,也就是说这个是正常情况。
但是为什么会有第一种情况呢,希望大神帮忙解决,已经纠结了我很久了,甚是烦恼。