Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* A */ CREATE TABLE deadlock(
- id INT UNSIGNED NOT NULL,
- weight INT UNSIGNED NOT NULL,
- PRIMARY KEY(id)
- ) ENGINE=InnoDB;
- /* A */ INSERT INTO deadlock (id, weight) VALUES (1, 0), (2, 0);
- /* A */ SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
- /* B */ SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
- /* A */ BEGIN;
- /* B */ BEGIN;
- /* A */ UPDATE deadlock SET weight = 1 WHERE id = 1; /* OK */
- /* B */ UPDATE deadlock SET weight = 2 WHERE id = 2; /* OK */
- /* A */ UPDATE deadlock SET weight = 1 WHERE id = 2; /* Locked (pending) */
- /* B */ UPDATE deadlock SET weight = 2 WHERE id = 1; /* Deadlock, B killed, A succeeds */
- /* A */ COMMIT; /* OK */
- /* A */ COMMIT; /* OK (but does nothing) */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement