【发布时间】:2016-07-09 00:23:28
【问题描述】:
我花了很多时间在 MySQL Workbench 上进行开发。在过去的几周里,我一直在研究一些存储过程并在回滚事务中测试它们。但是,尽管我一直在回滚它们,但程序所做的更改正在提交。我发现了一个建议运行'set autocommit = 0;'这工作了一段时间。但是,现在,这也行不通。我运行以下命令,然后即使我在另一台运行 Workbench 的计算机上运行 select 语句,程序所做的更改也会显示出来。
设置自动提交 = 0;
开始交易;
调用 TestProc(129,131);
从表1中选择*;
从表2中选择*;
回滚;
我以前从未需要过“set autocommit = 0”这一行,直到我将其重置为 1,它才会把事情搞得一团糟。但是,正如我所说,这现在甚至都行不通了。
我想知道是否需要重置统计信息或其他什么。我已经实现了“冲洗表”;和“刷新查询缓存;”;但是,问题仍然存在。我猜这是我不知道如何解决的维护问题。
我们将不胜感激。
谢谢,
迈克
【问题讨论】:
-
你需要比这更多的细节
标签: mysql transactions rollback autocommit