Назад к вопросам
Junior — Middle
57
Можете объяснить, что означает операция ROLLBACK в контексте SQL и как она влияет на транзакции?
Ответ от нейросети
sobes.tech AI
Операция ROLLBACK в SQL используется для отмены всех изменений, сделанных в текущей транзакции, и возврата базы данных в состояние до начала этой транзакции.
Когда транзакция начинается, она может включать несколько операций (INSERT, UPDATE, DELETE и т.д.). Если в процессе выполнения возникает ошибка или нужно отменить изменения, выполняется ROLLBACK, который отменяет все изменения, сделанные в рамках этой транзакции.
Пример:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
-- Если что-то пошло не так
ROLLBACK;
После ROLLBACK баланс в таблице accounts останется без изменений, как до начала транзакции.
Таким образом, ROLLBACK обеспечивает целостность данных, позволяя отменить частично выполненные операции в случае ошибок или других причин.