こんなエラーが出たときは、 ERROR 1205 (HY000) at line 2: Lock wait timeout exceeded; try restarting transaction 他のスレッドが保持しているロックをinnodb_lock_wait_timeout秒間待っても獲得出来なかった場合に発生する。 デッドロックとは違うみたいね。 まあ、これが出たときは他に動いている処理がないかどうかを確認した上で再実行かな。 基本的に、 MyISAM:表ロック InnoDB:行ロック だが、InnoDBでも表ロックする場合がある。 例えばUPDATE文のWHERE句で、 ・UNIQUE制約 or indexが貼られているカラムを指定した場合は => 行ロック ・上記以外のカラムを指定した場合は => 表ロック となる。