I am facing a deadlock in my MySQL. How can I configure MySQL to restart the transaction automatically when it encounters a deadlock?
You cannot do that automatically, as the deadlock occurred, because two transactions were trying to modify the same data. If you know that simply retrying the same statements again will be the right thing to do, you need to implement this in your application.
However having the database do that automatically would be irresponsible, because there might just as well be cases where your application first needs to take a look at the new situation in the database, before issuing potentially modified statements, if any at all.
Normally, you must write your applications so that they are always prepared to re-issue a transaction if it gets rolled back because of a deadlock.
http://dev.mysql.com/doc/refman/5.1/en/innodb-deadlocks.html
The manual suggests that no such configuration option exists.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With