SQLIte Transaction
2024-08-28 06:20:24
基本概念
事务(Transaction)是指一个或多个更改数据库的扩展。例如,如果您正在创建一个记录或者更新一个记录或者从表中删除一个记录,那么您正在该表上执行事务。重要的是要控制事务以确保数据的完整性和处理数据库错误。实际上,可以把许多的 SQLite查询联合成一组,把所有这些放在一起作为事务的一部分进行执行。
事物的属性
原子性
确保工作单位内的所有操作都成功完成,否则,事务会在出现故障时终止,之前的操作也会回滚到以前的状态。
一致性
确保数据库在成功提交的事务上正确地改变状态。
隔离性
使事务操作相互独立和透明。
持久性
确保已提交事务的结果或效果在系统发生故障的情况下仍然存在。
事物控制
BEGIN TRANSACTION 开始事物
COMMIT 提交(事物执行成功)
ROLLBACK 回滚(失败)
Android开发中的实际应用步骤
db.beginTransaction(); //手动设置开始事务
try{
for(Collection c:colls){
//do some operation...
}
db.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交
/*
* 在setTransactionSuccessful和endTransaction之间不进行任何数据库操作
*/
}catch(Exception e){
//handle exceptions;
}finally{
db.endTransaction(); //处理完成
}
最新文章
- 转载:ViewHolder为什么声明为static
- shell学习之路:流程控制(while)
- 分析Linux内核中进程的调度(时间片轮转)-《Linux内核分析》Week2作业
- HDU4549 M斐波那契数列 矩阵快速幂+欧拉函数+欧拉定理
- redis使用
- 在Hadoop1.2.1分布式集群环境下安装hive0.12
- 补充:sql server 中的相关查询、case函数
- CSS3画腾讯QQ图标 无图片和js参考
- Gof-23种设计模式名称列表
- ASP.NET 表单认证与角色授权
- Java程序执行Linux命令
- Android bluetooth介绍(四): a2dp connect流程分析
- Ubuntu14.04下SP_Flash_Tool_exe_Linux无法烧录
- Dagoin之modelform组件
- 2017 Multi-University Training Contest - Team 1 1001&;&;HDU 6033 Add More Zero【签到题,数学,水】
- ImageMagick命令行工具
- getopt for windows
- springboot--springboot+mybatis多数据源最简解决方案
- Javascript高级编程学习笔记(71)—— 模拟事件(1)DOM事件模拟
- angularjs component