SQLite数据库中的事务要怎么去理解?

SQLite数据库中的事务要怎么去理解?,第1张

事务就是保证数据的安全,一旦执行发送错误就可以回滚到最初的状态。举个例子:手机抢购,在抢购表(抢购成功之后保存用户信息和手机信息的表)插入记录,还要对剩余数量更新,所以这两个 *** 作是一个事务,必须保证要么都执行,要么都不执行,这就是事务所要做的。一旦有一个 *** 作执行出错,事务就会回滚到最初的状态,保证数据安全。

在SQLite中,如果没有为当前的SQL命令(SELECT除外)显示的指定事务,那么SQLite会自动为该 *** 作添加一个隐式的事务,以保证该 *** 作的原子性和一致性。当然,SQLite也支持显示的事务,其语法与大多数关系型数据库相比基本相同。见如下示例:

sqlite>BEGIN TRANSACTION

sqlite>INSERT INTO testtable VALUES(1)

sqlite>INSERT INTO testtable VALUES(2)

sqlite>COMMIT TRANSACTION --显示事务被提交,数据表中的数据也发生了变化。

sqlite>SELECT COUNT(*) FROM testtable

COUNT(*)

----------

2

sqlite>BEGIN TRANSACTION

sqlite>INSERT INTO testtable VALUES(1)

sqlite>ROLLBACK TRANSACTION --显示事务被回滚,数据表中的数据没有发生变化。

sqlite>SELECT COUNT(*) FROM testtable

COUNT(*)

----------

2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10010968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存