欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php事务是什么

程序员文章站 2022-04-05 14:38:20
...

php事务是什么

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 事务