【发布时间】:2014-06-03 10:16:39
【问题描述】:
我在 mysql (InnoDB) 中有一个包含超过 700 万行的表,并且我使用 Java 进行了一些操作。在我不得不删除一些行并插入一些新行之前,一切都正常工作。
问题在于,当我进行选择时,我不断获取旧值而不是新闻。例如,如果我尝试进行计数(*),我会得到 2760,而不是 2786。
有什么想法吗?
感谢您的宝贵时间。
【问题讨论】:
-
对我来说感觉像是一个交易问题。自动提交关闭了吗?
-
如果没有自动提交,也许你应该先
commit删除和插入查询。 -
丢失提交或
repeatable read默认隔离级别的影响。在运行选择之前在您用来验证数据的工具中运行commit(或rollback)以确保您已结束那个事务。 -
@a_horse_with_no_name ,由于可重复读取,我面临问题。你能写一个答案来解决这个问题吗?