Шаг 092. Пробуем безопасную транзакцию с откатом

sqlГлава 8. UPDATE, DELETE, транзакции и безопасные изменения

Что делаем

Пробуем безопасную транзакцию с откатом

Зачем SEO-специалисту

Транзакция позволяет проверить изменение и отменить его, если результат не понравился.

Код. Вставьте 1 в 1

BEGIN;

UPDATE pages
SET title = 'Черновой title, который мы отменим'
WHERE page_id = 3;

SELECT page_id, title
FROM pages
WHERE page_id = 3;

ROLLBACK;

Построчный разбор: что делает, для чего и как работает

Строка 1: BEGIN; — Начинает транзакцию: изменения можно будет сохранить или отменить.
Строка 2: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 3: UPDATE pages — Начинает изменение уже существующих строк в таблице.
Строка 4: SET title = 'Черновой title, который мы отменим' — Указывает, какие колонки и на какие значения нужно изменить.
Строка 5: WHERE page_id = 3; — Начинает фильтр: дальше перечисляются условия, какие строки оставить.
Строка 6: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 7: SELECT page_id, title — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.
Строка 8: FROM pages — Указывает основную таблицу или источник данных для запроса.
Строка 9: WHERE page_id = 3; — Начинает фильтр: дальше перечисляются условия, какие строки оставить.
Строка 10: пустая строка — Пустая строка отделяет один смысловой блок кода от другого, чтобы код легче читался.
Строка 11: ROLLBACK; — Отменяет изменения, сделанные после BEGIN.

Что должно получиться

Изменение будет отменено, потому что в конце стоит ROLLBACK.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.