Команда ROLLBACK
Команда ROLLBACK используется для отмены всех изменений,
выполненных после начала транзакции.
После выполнения команды состояние данных
возвращается к моменту последнего
START TRANSACTION
или SAVEPOINT.
Синтаксис
ROLLBACK
Таблицы для примеров
| id | name | balance |
|---|---|---|
| 1 | Ivan | 1000 |
| 2 | Olga | 1500 |
Пример
Давайте начнём транзакцию, изменим баланс счёта и затем отменим изменения:
START TRANSACTION;
UPDATE accounts
SET balance = balance - 300
WHERE id = 1;
ROLLBACK;
Результат выполнения кода:
| id | name | balance |
|---|---|---|
| 1 | Ivan | 1000 |
| 2 | Olga | 1500 |
Пример
Давайте начнём транзакцию, выполним несколько изменений и отменим их одной командой ROLLBACK:
START 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,
которая позволяет откатиться до точки