Задать вопрос
@Vadim997

Для чего используются транзакции в mysql?

Для чего используются транзакции в mysql запросах, если можно использовать без них?
  • Вопрос задан
  • 3334 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Для безопасности.
Если запрос состоит из нескольких действий
1) Найти запись
2) Удалить ее
3) Создать новую
И предположим, создать новую запись не удастся по каким-либо причинам, то если запрос обёрнут в транзакцию, удаление отменится.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Транза́кция (англ. transaction) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.

(c) Wikipedia

То есть если нужно сделать транзакцию, делаем транзакцию. Если нет - не делаем... Вопрос в том какой уровень надежности вы хотите получить.
Ответ написан
Комментировать
zeromodule
@zeromodule
PHP
Транзакции в MySQL используются для того же, для чего и в любой другой БД.

Классический пример - перевод денег с одного счёта на другой.
Если делать это без транзакции, то может произойти ситуация, когда деньги со счёта отправителя спишутся (первый запрос выполнится), а на счёт получателя не зачислятся (второй вопрос по каким-то причинам не выполнится).
Транзакция гарантирует что либо оба запроса будут выполнены, либо не будет выполнен ни один.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы