質問はmysqlトランザクションについてです。
create table tbl1(
id integer,
val integer,
primary key (id)
);
insert into tbl1 (id, val) values (1,2);
同時に作業する 2 人のユーザーを作成しました。
USER1 USER2
start transaction;
update tbl1 set val = 3 where id = 1;
delete from tbl2 where id = 1 and val = 3;
commit;
その結果、行は削除されません。修正方法は?削除クエリが最初のユーザーのトランザクションの開始よりも後に来るため、行が削除されることを望みます。
編集:実際には行が削除されるため、その理由についての説明はありません。