Transakcja to grupa operacji, które baza traktuje jako jedną, niepodzielną całość. Albo wykonają się wszystkie, albo - jeśli coś pójdzie nie tak - żadna.
BEGIN) - otwiera transakcję. Od tej chwili zmiany są "wstrzymane".START TRANSACTION, jakby nic się nie wydarzyło.1START TRANSACTION;
2
3INSERT INTO wypozyczenia (ksiazka_id, czytelnik_id, data_wypozyczenia)
4VALUES (1, 1, '2026-06-22');
5
6UPDATE ksiazki SET dostepna = 0 WHERE id = 1;
7
8COMMIT;Te dwie operacje wydarzą się razem. Jeśli druga zawiedzie, Strażnik wyda rozkaz:
1ROLLBACK;i nawet pierwszy
INSERT zostanie wymazany. Księga nigdy nie zawiśnie w stanie pośrednim.Zawsze, gdy kilka zmian musi być spójnych razem: przelew (zdejmij z jednego konta, dodaj do drugiego), wypożyczenie, usunięcie czytelnika wraz z jego historią. To Twoja tarcza przed niespójnością.