SQLite进阶-18.事务

时间:2019-08-18 22:26:00   收藏:0   阅读:118

SQLite事务

事务(Transaction) 是一个对数据库执行工作单元。事务是以逻辑顺序完成的工作单元或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。

事务是指一个或者多个改变数据库的扩展。例如:如果你正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么你正在该表上执行事务。重要的是要控制事务以确保数据的完整性和处理数据库错误。
实际上,你可以把许多的SQLite查询联合成一组,把所有这些放在一起作为事务的一部分进行执行。

事务的属性

事务(Transaction)具有以下四个标准属性,通常根据首字母缩写为ACID:

事务控制

使用下面的命令来控制事务:

事务控制命令只与DML命令INSERT、UPDATE、DELETE一起使用。他们不能再创建表或删除表时使用,因为这些操作在数据库中是自动提交的。

BEGIN TRANSACTION命令

事务(Transaction)可以使用BEGIN TRANSACTION命令或简单的BEGIN命令来启动。此类事务通常会持续执行下去,直到遇到下一个COMMIT或ROLLBACK命令。不过在数据库关闭或发生错误时,事务处理也会回滚。以下是启动一个事务的简单语法:

BEGIN;

or

BEGIN TRANSACTION;

COMMIT命令

COMMIT命令是用于把事务调用的更改保持到数据库中的事务命令。
COMMIT命令把自上次COMMIT或ROLLBACK命令以来的所有事务保存到数据库。
COMMIT命令的语法如下:

COMMIT;

or

END TRANSACTION;

ROLLBACK命令

ROLLBACK命令是用于撤销尚未保存到数据库的事务的事务命令。
ROLLBACK命令只能用于撤销自上次发出COMMIT或ROLLBACK命令以来的事务。
ROLLBACK命令的语法如下:

ROLLBACK;
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!