ThinkPHP学习笔记 事务处理
2017-06-06 00:00
381 查看
摘要: 有关数据库的组合操作,多表操作,都需要进行事务处理,以防数据丢失。
事务处理是数据库数据处理中经常用到的一个功能,特别是商务之类的应用,比如a给b打了钱,数据库中a的钱数应该减少,b的钱数应该增加,
若a数据操作成功,而b的数据因某些原因操作失败,这时数据就会有问题。这种相关的系列操作需要进行事务处理。
事务是DBMS得执行单位。一般来说,事务是必须满足4个条件(ACID):
1. 原子性(Autmic): 事务在执行性,要做到“要么不做,要么全做!”,不允许事务部分执行。
2. 一致性(Consistency): 事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态。修改的数据之间应该有所关联。
3. 隔离性(Isolation): 如果多个事务并发执行,应象各个事务独立执行一样。
4. 持久性(Durability): 一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复。
下面看Thinkphp的一个例子。
事务处理对防止数据污染,保持数据正常有着重大的作用。对有比较重要关联,重要数据的连续操作,尽量用上事务操作。
事务处理是数据库数据处理中经常用到的一个功能,特别是商务之类的应用,比如a给b打了钱,数据库中a的钱数应该减少,b的钱数应该增加,
若a数据操作成功,而b的数据因某些原因操作失败,这时数据就会有问题。这种相关的系列操作需要进行事务处理。
事务是DBMS得执行单位。一般来说,事务是必须满足4个条件(ACID):
1. 原子性(Autmic): 事务在执行性,要做到“要么不做,要么全做!”,不允许事务部分执行。
2. 一致性(Consistency): 事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态。修改的数据之间应该有所关联。
3. 隔离性(Isolation): 如果多个事务并发执行,应象各个事务独立执行一样。
4. 持久性(Durability): 一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复。
下面看Thinkphp的一个例子。
//实例化的数据库对象 $model = new Model(); //开启事务 $model->startTrans(); //默认结果 $judge = true; //数据操作 $sql1 ="delete from TableOne where ..."; $sql2 ="delete from TableTwo where ..."; //执行数据操作 $result1 = $model->query($sql1); if(!$result1) $judge = false; $result2 = $model->query($sql2); if(!$result2) $judge = false; if($judge){ //如果2条都执行成功,则提交完成数据库操作 $db->commit(); }else{ //如果有其中一条执行失败,则rollback,所有数据还原到sql1和sql2都没执行的状态。 $db->rollback(); }
事务处理对防止数据污染,保持数据正常有着重大的作用。对有比较重要关联,重要数据的连续操作,尽量用上事务操作。
相关文章推荐
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- ADO.NET学习笔记-事务处理
- SQL查询艺术学习笔记--SQL事务处理 隔离 锁 与 并发操作
- MyCat 学习笔记 第十二篇.数据分片 之 分片事务处理
- 事务处理及锁定 【数据库高效编程 - 学习笔记 第六章】
- 49.笔记 MySQL学习——事务处理
- 黑马程序员之ADO.NET学习笔记:网络数据的事务处理
- JDBC基础学习笔记_04_jdbc事务处理
- SQL学习笔记6 视图 存储过程 事务处理
- 50.笔记 MySQL学习——利用事务处理保证语句
- [Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction
- [MySql学习笔记] 五 锁定和事务处理分离水平
- 【mysql学习笔记】-事务处理
- 学习笔记:mysqli预处理和事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- [MySql学习笔记] 四 存储引擎事务处理
- 「Redis学习笔记」事务和错误处理
- 十、Oracle数据库之学习笔记---Oracle事务处理
- C#学习笔记18——.NET 事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理