CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t VALUES (3); BEGIN; UPDATE t SET a = 2; connect con1,localhost,root; SET DEBUG_SYNC="lock_wait_suspend_thread_enter SIGNAL del_locked"; DELETE FROM t; connection default; SET DEBUG_SYNC="now WAIT_FOR del_locked"; UPDATE t SET a = 1; COMMIT; connection con1; ERROR 40001: Deadlock found when trying to get lock; try restarting transaction disconnect con1; connection default; # The above DELETE must delete all the rows in the table, so the # following SELECT must show 0 rows. SELECT count(*) FROM t; count(*) 1 SET DEBUG_SYNC="reset"; DROP TABLE t;