• 热门专题

关于pdo里的事务处理的一些示范例子

作者:whl  发布日期:2018-12-12 08:58:00
Tag标签:pdo处理机制  pdo功能详解  
  •   很多朋友对于php里的pdo如何进行事物处理都不是很清楚,对里面的机制更是一窍不通。为此小编特意进行了这方面资料的查询,整理了比较具有学习价值的部分,下面就把具体的和示例相结合的分析给大家就行讲解,希望对大家有所帮助。

      事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行,并且在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操作. 如果执行成功, 那么这一系列操作都会永久有效. 事务很好的解决了在操作数据库的时候不同步的问题. 同时, 通过事务去执行大数据量的时候, 执行效率可以提高很多很多.

      在PDO中同样可以实现事物处理的功能

      1.开启事物:beginTransaction()方法

      beginTransaction()方法将关闭自动提交(autocommit)模式,直到事物被提交或者回滚以后才恢复

      2.提交事物:commit()方法

      Commit()方法完成事物的提交操作,成功则返回true,否则返回false。

      3.事物回滚:rollBack()方法

      rollBack()方法执行事物的回滚操作。

      例如:

    执行事物的回滚操作

      补充:

      数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

      事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单 元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。

      事务是数据库运行中的一个逻辑工作单位,由DBMS中的事务管理子系统负责事务的处理。

      相关属性:

      ① 原子性(Atomic)(Atomicity)

      ②事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。

      ② 一致性(Consistent)(Consistency)

      事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数 据结构(如 B 树索引或双向链表)都必须是正确的。某些维护一致性的责任由应用程序开发人员承担,他们必须确保应用程序已强制所有已知的完整性约束。例如,当开发用于转 帐的应用程序时,应避免在转帐过程中任意移动小数点。

      ③ 隔离性(Insulation)(Isolation)

      由并发事务所作的修 改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不 会查看中间状态的数据。这称为隔离性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。当事务可序列化 时将获得最高的隔离级别。在此级别上,从一组可并行执行的事务获得的结果与通过连续运行每个事务所获得的结果相同。由于高度隔离会限制可并行执行的事务 数,所以一些应用程序降低隔离级别以换取更大的吞吐量。

      ③ 持久性(Duration)(Durability)

      ④事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。

      今天给大家分享的在pdo中进行事物处理的一些实例就到此为止了,相信大家通过上面这些内容的学习对于pdo的处理机制应该有了更深入的了解吧?如果大家对于上面这些内容还有不明白的地方也可以给小编留言,小编会第一时间进行讲解的。

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规