• 技术文章 >后端开发 >PHP问题

    php事务是什么

    王林王林2019-09-20 13:06:39原创3107

    PHP事务四大特性

    事务就是一组原子性的SQL查询,或者说一个独立的工作单元。

    原子性(Atomicity):

    事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。

    一致性(Consistemcy):

    事务前后,数据库的状态都满足所有的完整性约束。

    隔离性(Isolation):

    并发执行的事务是隔离的,一个不影响一个。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。

    通过设置数据库的隔离级别,可以达到不同的隔离效果。

    持久性(Durability):

    在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

    PHP事务的并发问题

    1、脏读

    事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据。

    2、不可重复读

    事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。

    3、幻读

    系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。

    小结:不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表。

    推荐教程:PHP视频教程

    以上就是php事务是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 事务
    上一篇:php事务什么时候用 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 事务处理机制• php实现多进程模拟并发事务时遇到的问题解决方法• php怎样使用momgodb事务• 什么是php事务
    1/1

    PHP中文网