页面关闭和事务没关系吧。关闭页面后,进程执行到哪里就算到哪里了。你如果能确定说还没查到结果,那你关闭页面就不会再执行了。只是说这种执行速度都是很快的,你关闭页面通常都会造成一些奇怪的数据操作。如果SQL采用回滚的话,就不会有什么异常了。

解决方案 »

  1.   

    要说一下。  查询放在事务里是没有意义的。
      事务是为了保持数据的一致性,而查询不会造成数据的变动。  比如说,你的a表使用了b表的一个数据,现在改动b表后,a表的数据要随之更改。
      你需要2个sql语句来完成这个动作,sql1 和sql2 , 现在执行之中如果发生意外,
      比如:机器断电。 sql1执行了,而sql2没有执行,那么你需要的结果没有出现,
      可能下次使用a表数据时就会发现数据不对了。  使用事务后, 如果sql1完成后,断电(或者其它方式中断),数据库会将未完成的事务回滚,
     也就是把sql1执行的结果undo,这样数据还是一致,只是没有完成。你可以再次尝试。  另,单独的一句sql语句一般不需要显式使用事务,因为数据库会自动作为事务处理。中间失  败 会回滚。(不明确mysql是否如此,其它的数据库大都如此)