Повторно отправить заблокированную транзакцию php

Я хотел бы добавить некоторую логику в свое приложение, чтобы оно повторно отправляло любые заблокированные транзакции. Я хотел бы знать, нужно ли мне прервать текущую транзакцию или просто повторно выполнить запрос, который не удался

Итак, если я запускаю транзакцию, которая добавляет/обновляет много строк, и одна из них блокируется, нужно ли мне в этот момент выполнить откат всей транзакции и воспроизвести всю группу или просто повторить конкретный запрос?

Надеюсь, я ясно описал сценарий

Спасибо


person Thomas    schedule 31.10.2011    source источник
comment
Вы не можете устранить взаимоблокировки? Они не звучат хорошо.   -  person calumbrodie    schedule 31.10.2011
comment
Привет. Попробую конечно, но рано или поздно может появиться тупик и хотелось бы быть готовым   -  person Thomas    schedule 31.10.2011


Ответы (1)


Если транзакция не зафиксирована (а это не так, потому что она взаимоблокируется), все внутри этой транзакции автоматически откатывается. Поэтому вам нужно повторить все, что не зафиксировано.

Прочтите этот http://dev.mysql.com/doc/refman/5.0/en/innodb-deadlocks.html

person Petr    schedule 31.10.2011