@Vadim997

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

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

(c) Wikipedia

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

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

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

Войти через центр авторизации
Похожие вопросы