MySQLでは、オートコミットを無効にすることで、トランザクションがコミットするのを止める事ができる。
例えばUPDATE文のトランザクションをコミットされるのを止めていると、UPDATE文が実行される際にロックされた行が、ロック状態で維持されるということである。
このオートコミットの設定を上手く使うことで、デッドロックの再現等を意図的に行うことが出来るようになる。
オートロックの設定の変更の仕方は以下の通りである。
//オートコミットを無効にする set autocommit = 0; //オートコミットを有効にする set autocommit = 0;
この autocommit
はセッション変数であるため、セッション毎に設定する必要がある。