Setup
======

CREATE TABLE t ( id INT NOT NULL AUTO_INCREMENT, from_id INT, to_id INT, PRIMARY KEY (id) );
INSERT INTO t (from_id, to_id) VALUES (10, 20);

Session A						Session B
=========						=========

SET autocommit=0;					SET autocommit=0;

SELECT * FROM t;					SELECT * FROM t;
+----+---------+-------+				+----+---------+-------+
| id | from_id | to_id |				| id | from_id | to_id |
+----+---------+-------+				+----+---------+-------+
|  1 |      10 |    20 |				|  1 |      10 |    20 |
+----+---------+-------+				+----+---------+-------+
1 row in set						1 row in set

DELETE FROM t WHERE from_id=10;
Query OK, 1 row affected

SELECT * FROM t WHERE from_id=10 and to_id IN (20);
Empty set

INSERT INTO t (from_id, to_id) VALUES (10, 20);
Query OK, 1 row affected

COMMIT;
SET autocommit=1;

							DELETE FROM t WHERE from_id=10;
							Query OK, 1 row affected

							SELECT * FROM t WHERE from_id=10 and to_id IN (20);
							+----+---------+-------+
							| id | from_id | to_id |
							+----+---------+-------+
							|  1 |      10 |    20 |
							+----+---------+-------+
							1 row in set

							(Not inserting anything since "it's already there!")

							COMMIT;
							SET autocommit=1;

Later
=====

SELECT * FROM t;
Empty set
