Общие > Базы данных
Откатить последнее действие
fidget:
Alexandr, тут немного другая ситуация, чем та, которую ты привел из мануала.
В примере из мануала сначала выполняется проверка, а потом проводится обновление. тут же обновление уже сделано и без транзакций откатить этот запрос невозможно.
Alexandr:
Я в том смысле, что можно переделать скрипт и обойтись без транзакций.
xRUSha:
--- Цитировать ---Чтобы избежать применения ROLLBACK, можно использовать следующую стратегию:
Применить LOCK TABLES ... для блокирования всех таблиц, к которым необходим доступ.
Проверить условия.
Обновить, если все в порядке.
Использовать UNLOCK TABLES для освобождения произведенных блокировок.
--- Конец цитаты ---
Проверить условия? А что имеется ввиду, и как это сделать
fidget:
> Я в том смысле, что можно переделать скрипт и обойтись без транзакций.
не всегда ;) собственно то, что я тебе и говорила уже. LOCK TABLES дает тебе гарантию, что никто другой не может модифицировать твою таблицу до тех пор , пако ты ее не разлочишь. Но ты не сможешь откатить действие.
Навигация
Перейти к полной версии