Определение
Транзакция — это последовательность операций с базой данных, которая выполняется как единое целое.
Свойства ACID
- Atomicity — либо выполняется всё, либо ничего
- Consistency — база остаётся в корректном состоянии
- Isolation — параллельные транзакции не мешают друг другу
- Durability — после фиксации изменения сохраняются
Пример
BEGIN; UPDATE accounts SET balance = balance - 100 WHERE id = 1; UPDATE accounts SET balance = balance + 100 WHERE id = 2; COMMIT;
Если одна из операций завершится ошибкой, выполняется ROLLBACK и изменения отменяются.
