Повторная отправка заблокированной транзакции php

#php #mysql #deadlock

#php #mysql #тупиковая ситуация

Вопрос:

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

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

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

Спасибо

Комментарии:

1. Разве вы не можете устранить взаимоблокировки? Они звучат не очень хорошо.

2. Привет. Конечно, попробую, но рано или поздно может возникнуть тупик, и я хотел бы быть готовым

Ответ №1:

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

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