SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.02.2012 15:28:49

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

номер ошибки deadlock

Всем привет, не подскажите какой номер ошибки выдает mysql при deadlock транзакциях, для отлова ее в DECLARE EXIT HANDLER FOR?

ЗЫ нашел вот что 1213 "Deadlock found when trying to get lock; try restarting transaction"
если это номер 1213 то нужно ли в обработчике ошибке писать ROLLBACK или транзакция автоматом откатиться?
например DECLARE EXIT HANDLER FOR 1213 SELECT 'deadlock current transaction'; или же нужно еще добавить ROLLBACK?

И вот еще, какая именно транзакция откатиться при deadlock? или откатятся все транзакции?

можно ли как нибудь выбирать "жертву" deadlock?

Отредактированно simple (07.02.2012 15:45:49)

Неактивен

 

#2 08.02.2012 01:18:26

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: номер ошибки deadlock

выбрать жертву нельзя, это внутренний алгоритм innodb. Не обязательно будут откатываться обе

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson