我有两个复杂的

PHP对象,每个对象都有几个MysqL表中的数据.

有时,我只需要从数据库中删除一个对象A,这需要3个sql语句.

有时,我需要从数据库中删除一个对象B,这需要4个sql语句,并且还需要查找和删除对象B拥有的所有对象A.

所以在函数delete_A()中,我在一个事务中执行那些语句.在delete_B()函数内部,我想运行一个覆盖delete_A()内部活动的大型事务.如果删除B的整个原子都失败了,我需要在回滚中恢复它的所有A.

如果尚未运行更大的事务,如何更新delete_A()的定义以仅打开新事务.

我希望能够做这样的事情,但autTraommit属性似乎没有被beginTransaction()改变

function delete_A($a){

global $pdo;

$already_in_transaction = !$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);

if(!$already_in_transaction){

$pdo->beginTransaction();

}

//Delete the A

if(!$already_in_transaction){

$pdo->commit();

}

}

function delete_B($b){

global $pdo;

$pdo->beginTransaction();

foreach($list_of_As as $a){

delete_A($a);

}

$pdo->commit();

}

pdo mysql 事务_PHP PDO对象如何确定它是否已经存在于MySQL事务中?相关推荐

  1. php pdo mysql 预处理_php -- PDO预处理

    可以使用多种方式实现预处理:指的是在绑定数据进行执行的时候,可以有多种方式. 预处理语句中为变量 使用数组指定预处理变量 1.准备预处理语句(发送给服务器,让服务器准备预处理语句) PDOStatem ...

  2. php pdo mysql 预处理_PHP PDO mysql 处理类(prepare 预处理)

    使用预处理,动态处理需要操作的字段和值.先使用PDO来动态绑定参数.PDOModel: /** * Description of PDO * * @author Administrator */ cl ...

  3. mysql敤 罚_php中mysql连接方式PDO使用详解,pdo浣跨敤璇﹁В_PHP教程

    php中mysql连接方式PDO使用详解,pdo浣跨敤璇﹁В PDO常用方法: PDO::query()主要用于有记录结果返回的操作(PDOStatement),特别是select操作. PDO::e ...

  4. mysql敤 罚_php中mysql连接方式PDO使用详解,pdo浣跨敤璇﹁В

    php中mysql连接方式PDO使用详解,pdo浣跨敤璇﹁В PDO常用方法: PDO::query()主要用于有记录结果返回的操作(PDOStatement),特别是select操作. PDO::e ...

  5. php pdo mysql哪个好_php pdo和mysqli对比选择

    1)总的比较 PDO MySQLi 数据库支持 12种不同的数据库支持 支持MySQL API OOP OOP + 过程 Connection Easy Easy 命名参数 支持 不支持 对象映射支持 ...

  6. php mysql 替换 pdo,php操作MySQL数据库之PDO方式

    这篇文章主要介绍了关于php操作MySQL数据库之PDO方式 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下基本使用 1)连接数据库$pdo = new PDO("mysql ...

  7. mysql php pdo_php PDO mysql写法

    php PDO写法连接mysql: 写法一: $db="mysql:host=localhost;dbname=sql" : //连接数据,地址localhost:数据库名称sql ...

  8. php pdo 预处理删除,PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理

    介绍 PDO是一种PHP程序连接数据库的接口,通过PDO可以将PHP程序与数据库联系起来. 优点: 1.可移植性,可以支持各种主流数据库服务,而且实现代码几乎都是相同的,使用PDO在代码层面上不需要太 ...

  9. pdo mysql dsn_使用PDO构造函数连接数据库及DSN详解

    PDO是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll.php_pgsql.dll.php_m ...

最新文章

  1. Matlab:利用Matlab实现布朗运动模拟
  2. svn教程----eclipse的SVN插件使用
  3. 对Javascript 类、原型链、继承的理解
  4. Spring选择哪种注入方式
  5. 将redis加入到elk日志系统里
  6. Python的Virtualenv(虚拟环境)的使用(Windows篇)2
  7. Spring中的用到的设计模式大全
  8. 存用部首查字典如何查_文献阅读技巧:牛人博士如何看文献!
  9. 远程连接ubuntu中mysql的数据库
  10. hadoop合并日志_Hadoop深入学习:HDFS主要流程——SNN合并fsimage和编辑日志
  11. 【ZOJ4110】Strings in the Pocket (马拉车算法+分析)
  12. Scrapy 爬取电影网站开发微信公众号
  13. Python PDF转高清图片 可设置转前几张
  14. [等保测评]Web应用防火墙WAF产品汇总
  15. verilog语言实现简易二进制计算器
  16. 第五章 全连接神经网络
  17. 微信公众号课程预约系统的功能需求分析
  18. 用友通10.1禁止安装在SQL2005
  19. 央妈是怎么印钱的(1)--资产负债表
  20. html中点击a标签视频在新页面播放

热门文章

  1. 【算法】斐波那契(黄金分割法) 查找算法
  2. 80-10-015-原理-Java NIO-ByteBuffer
  3. 【Elasticsearch】Get 查询获取不到数据,但是用 _search 就可以查询到
  4. 【elasticsearch】Elasticsearch 空值处理实战
  5. 95-235-070-源码-task-OneInputStreamTask
  6. Spring : Spring @Transactional-事物回滚
  7. 2008服务器维护,Windows 2008 R2 服务器维护
  8. 为什么强烈不推荐使用stop、suspend方法来中断线程?
  9. IDEA 2021.1正式发布,新增了这几个超实用功能!
  10. JDK常用监控指令和监控工具介绍及案例分析使用教程,非常实用!