摘要:本节主要讲解 SQLite 事务,什么是事务?怎么使用?有哪些需要注意的地方?
什么是事务?
SQLite 事务是指一组 SQL 语句的集合,这些语句作为一个单独的工作单元执行,以确保数据的完整性和一致性。事务(Transaction)是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。事务(Transaction)是指一个或多个更改数据库的扩展。
基本特性
- 原子性(Atomicity):确保工作单位内的所有操作都成功完成,否则,事务会在出现故障时终止,之前的操作也会回滚到以前的状态。
- 一致性(Consistency):确保数据库在成功提交的事务上正确地改变状态。
- 隔离性(Isolation):使事务操作相互独立和透明。
- 持久性(Durability):确保已提交事务的结果或效果在系统发生故障的情况下仍然存在。
如何控制事务?
通过如下命令来控制事务:
- BEGIN TRANSACTION:开始事务处理。
- COMMIT:保存更改,或者可以使用 END TRANSACTION 命令。
- ROLLBACK:回滚所做的更改。
事务控制命令只与 DML 命令 INSERT、UPDATE 和 DELETE 一起使用。他们不能在创建表或删除表时使用,因为这些操作在数据库中是自动提交的。
BEGIN 命令
BEGIN;
or
BEGIN TRANSACTION;
COMMIT 命令
COMMIT;
or
END TRANSACTION;
ROLLBACK 命令
ROLLBACK;
详细案例见文章:SQLite中的事务(点击直达)