Транзакция - это единица работы, которая выполняется в отношении базы данных. Транзакции - это единицы или последовательности работы, выполненные в логическом порядке, будь то вручную или автоматически с помощью какой-либо программы базы данных.
Транзакция - это распространение одного или нескольких изменений в базе данных. Например, если вы создаете, обновляете или удаляете запись из таблицы, вы выполняете транзакцию в таблице. Важно контролировать транзакции для обеспечения целостности данных и обработки ошибок базы данных.
Практически вы соберете много запросов SQLite в группу, и вы будете выполнять их все вместе как часть транзакции.
Свойства транзакций
Транзакции имеют следующие четыре стандартных свойства, обычно называемые аббревиатурой ACID.
- Atomicity - обеспечивает успешное завершение всех операций в рабочем модуле; в противном случае транзакция прерывается в момент сбоя, а предыдущие операции возвращаются в прежнее состояние.
- Consistency - обеспечивает правильное изменение базы данных при успешной транзакции.
- Isolation - позволяет транзакциям работать независимо друг от друга и прозрачно.
- Durability - обеспечивает, чтобы результат или эффект совершенной транзакции сохранялся в случае сбоя системы.
Управление транзакциями
Ниже приведены следующие команды, используемые для управления транзакциями:
- BEGIN TRANSACTION - начать транзакцию.
- COMMIT - чтобы сохранить изменения, вы также можете использовать команду END TRANSACTION .
- ROLLBACK - откат изменений.
Команды управления транзакциями используются только с командами DML INSERT, UPDATE
и DELETE
. Они не могут использоваться при создании таблиц или их удалении, поскольку эти операции автоматически фиксируются в базе данных.
Команда BEGIN TRANSACTION
Сделки можно запустить с помощью BEGIN TRANSACTION
или просто команды BEGIN
. Такие транзакции обычно сохраняются до появления следующей команды COMMIT
или ROLLBACK
. Однако транзакция будет также ROLLBACK
, если база данных будет закрыта или произойдет ошибка. Ниже приведен простой синтаксис для начала транзакции.
BEGIN;
or
BEGIN TRANSACTION;
Команда COMMIT
Команда COMMIT - это транзакционная команда, используемая для сохранения изменений, вызванных транзакцией, в базу данных. Команда COMMIT
сохраняет все транзакции в базе данных с момента последней команды COMMIT
или ROLLBACK
.
Ниже приведен синтаксис команды COMMIT
.
COMMIT;
or
END TRANSACTION;
Команда ROLLBACK
Команда ROLLBACK - это транзакционная команда, используемая для отмены транзакций, которые еще не были сохранены в базе данных. Команда ROLLBACK
может использоваться только для отмены транзакций с момента выдачи последней команды COMMIT
или ROLLBACK
.
Ниже приведен синтаксис команды ROLLBACK
.
ROLLBACK;
0 комментариев