Я хочу воссоздать анонс грязной записи с двумя независимыми транзакциями. Я запустил терминал дважды и подключился как к моей базе данных. Я начал транзакцию с командой start transaction;
в обоих. Затем я обновил одну информацию в первом окне терминала, и это то, что мне показалось: Rows matched: 1 Changed: 1 Warnings: 0
. После выбора всех данных в этой таблице было изменено. Но когда я попытался показать измененные данные select * from adress;
во втором окне терминала, это не показало мне изменения, кроме старых данных.начать две независимые транзакции с mysql
В конце концов мне нужно доказать аномалию грязного чтения и избежать этого с правильным уровнем изоляции.
Вот два скриншота моих окон терминала.
Сделка 1:
transaction 1 http://i64.tinypic.com/mcapo6.png
Сделка 2:
transaction 2 http://i65.tinypic.com/o0tcwg.png
Что я делаю неправильно?
Спасибо за помощь, Робин
Вы совершили транзакцию в первом терминале? –
Я просто попробовал его с фиксацией в первом терминале. Второй терминал по-прежнему показывает старые данные. Только когда я фиксирую второй терминал, данные одинаковы. Означает ли это также, что обе транзакции закончились? –