0

我想用两个独立的事务重新创建脏读异常。我已经启动了两次终端并将两者都连接到我的数据库。我已经使用start transaction;两者中的命令开始了交易。然后我在第一个终端窗口中更新了一个信息,这就是它向我展示的内容:Rows matched: 1 Changed: 1 Warnings: 0. 选择此表中的所有数据后,更改就在那里。但是当我试图select * from adress;在第二个终端窗口中显示更改的数据时,它并没有显示更改,而是显示了旧数据。

最后,我需要证明脏读异常,并使用正确的隔离级别避免这种情况发生。

这是我的终端窗口的两个屏幕截图。

交易一:

交易1

交易2:

交易2

我究竟做错了什么?

谢谢你的帮助,罗宾

4

1 回答 1

0

您需要在第一笔交易中提交更改

https://dev.mysql.com/doc/refman/5.7/en/commit.html

事务的想法是允许您执行一系列操作,这些操作要么都必须成功,要么都不能发生。

希望有帮助。

于 2015-12-10T14:36:42.053 回答