Найти в Дзене

Транзакции в MySQL 🚀

Транзакции в MySQL 🚀 - это способ гарантировать, что ваши данные остаются надежными и целостными. Давайте разберемся, как это работает на примерах.

Что такое транзакции? 🤔

Транзакция - это группа операций с данными, которые либо полностью выполняются, либо нет. Они основаны на принципах ACID:

ℹ️ Атомарность (все или ничего)

ℹ️Согласованность (данные остаются правильными)

ℹ️ Изоляция (операции не мешают друг другу)

ℹ️ Долговечность (результаты сохраняются после завершения)

Примеры использования 🛠

1. Перевод денег с одного счета на другой:

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Здесь мы используем
START TRANSACTION и COMMIT, чтобы гарантировать, что обе операции выполнены вместе.

2. Откат при ошибке:

START TRANSACTION;
UPDATE accounts SET balance = balance - 1000 WHERE id = 1;
-- Если ошибка, отменяем всё
ROLLBACK;

ROLLBACK отменяет все изменения, если что-то пошло не так.

Заключение

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