当前位置:Gxlcms > PHP教程 > 关于PDO事务功能

关于PDO事务功能

时间:2021-07-01 10:21:17 帮助过:9人阅读

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

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

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

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

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

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

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

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

  1. <?php
  2. $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
  3. $pdo->beginTransaction() or die('事务开启失败');//开启事务
  4. $pdo->exec('insert into student values()');//执行事务
  5. //终止事务
  6. $pdo->commit();
  7. //成功提交
  8. $pdo->rollback();
  9. //失败回滚

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

  1. <?php
  2. $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
  3. $pdo->beginTransaction() or die('事务开启失败');//开启事务
  4. $pdo->exec('insert into student values()');//执行事务
  5. //设置回滚点
  6. $pdo->exec('savepoint sp1');
  7. //继续执行事务...
  8. //回滚
  9. $pdo->exec('rollback to sp1');
  10. //终止事务
  11. $pdo->commit();
  12. //成功提交
  13. $pdo->rollback();
  14. //失败回滚
  15. ?>

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

以上就是关于PDO事务功能的详细内容,更多请关注gxlcms其它相关文章!

人气教程排行