Команда ROLLBACK

Команда ROLLBACK используется для отмены всех изменений, выполненных после начала транзакции. После выполнения команды состояние данных возвращается к моменту последнего START TRANSACTION или SAVEPOINT.

Синтаксис

sqlROLLBACK

Таблицы для примеров

accounts
id name balance
1 Ivan 1000
2 Olga 1500

Пример

Давайте начнём транзакцию, изменим баланс счёта и затем отменим изменения:

sqlSTART TRANSACTION;

UPDATE accounts
SET balance = balance - 300
WHERE id = 1;

ROLLBACK;

Результат выполнения кода:

id name balance
1 Ivan 1000
2 Olga 1500

Пример

Давайте начнём транзакцию, выполним несколько изменений и отменим их одной командой ROLLBACK:

sqlSTART TRANSACTION;

UPDATE accounts
SET balance = balance + 200
WHERE id = 1;

UPDATE accounts
SET balance = balance - 200
WHERE id = 2;

ROLLBACK;

Результат выполнения кода:

id name balance
1 Ivan 1000
2 Olga 1500

Смотрите также

  • команду START TRANSACTION,
    которая открывает транзакцию
  • команду COMMIT,
    которая подтверждает изменения
  • команду SAVEPOINT,
    которая позволяет откатиться до точки