首页 > 后端开发 > php教程 > 关于PDO事务功能

关于PDO事务功能

autoload
发布: 2023-04-09 19:42:01
原创
3145 人浏览过

定义:PDO事务功能,并非PDO额外多出了一项功能,而是将原来MySQL所支持的事务操作进行了一定的封装实现。注意:事务执行是否成功是由MySQL对应的存储引擎是否支持决定的。

    1.事务功能回顾:事务是指改变默认的一次操作一次写入数据表的机制,而是通过事务日志记录操作,在最后通过一次性操作写入到数据表。

  • 开启事务:start transaction,写操作停止直接写入数据表,而是记录到事务日志

  • 事务操作:具体的写操作,通常多个步骤多条指令

  • 提交事务:即事务操作结束

                    成功提交:commit,所有事务日志内容同步到数据表,并清空当前事务日志

                    失败回滚:rollback,直接清空当前事务日志

    2.PDO类中提供一套方案来实现事务操作

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
登录后复制

3.在事务操作中,有一种回滚点机制,在PDO中没有实现,如果有必要,可以通过SQL指令设置来实现

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务
//设置回滚点
$pdo->exec(&#39;savepoint sp1&#39;);

//继续执行事务...

//回滚
$pdo->exec(&#39;rollback to sp1&#39;);

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
?>
登录后复制

推荐:php教程,php视频教程

以上是关于PDO事务功能的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板