MySQL分布式XA事务
来源:互联网 发布:c盘windows 编辑:程序博客网 时间:2024/05/17 06:15
use App\ManagersOther;use App\Managers;use mysqli;use Exception;
$dbtest1 = new mysqli("127.0.0.1","root","root","pangu")or die("dbtest1 连接失败"); $dbtest2 = new mysqli("103.199.102.225","*****","*****","*****")or die("dbtest2 连接失败");//为XA事务指定一个id,xid 必须是一个唯一值。 $xid = uniqid("");//两个库指定同一个事务id,表明这两个库的操作处于同一事务中 $dbtest1->query("XA START '$xid'");//准备事务1 $dbtest2->query("XA START '$xid'");//准备事务2 try { //$dbtest1 //$time = Carbon::now(); $sql="INSERT INTO managers (`name`,`username`,`email`,`password`,`status`,`created_at`,`last_login`,`remark`) VALUES('X123123A','XA','','6969',1,'1','1',''); "; $return = $dbtest1->query( $sql) ; if($return == false) { throw new Exception("库dbtest1@127.0.0.1执行insert操作失败!"); } //$dbtest2 $return = $dbtest2->query("insert 123 into managers") ; if($return == false) { throw new Exception("库dbtest1@103.199.102.225执行select操作失败!"); } //阶段1:$dbtest1提交准备就绪 $dbtest1->query("XA END '$xid'"); $dbtest1->query("XA PREPARE '$xid'"); //阶段1:$dbtest2提交准备就绪 $dbtest2->query("XA END '$xid'"); $dbtest2->query("XA PREPARE '$xid'"); //阶段2:提交两个库 $dbtest1->query("XA COMMIT '$xid'"); $dbtest2->query("XA COMMIT '$xid'"); } catch (Exception $e) { //阶段2:回滚 $dbtest1->query("XA ROLLBACK '$xid'"); $dbtest2->query("XA ROLLBACK '$xid'"); die($e->getMessage()); } $dbtest1->close(); $dbtest2->close();
阅读全文
0 0
- MySQL分布式XA事务
- MySQL分布式XA事务
- MySQL分布式XA事务
- mysql 分布式事务(xa)
- MySQL分布式(XA)事务
- 详解Mysql分布式事务XA
- php + mysql 分布式事务(xa)
- Mysql数据库分布式事务XA详解
- Mysql数据库分布式事务XA详解
- 分布式 (XA)事务
- 分布式事务XA
- 分布式事务XA
- 详解Mysql分布式事务XA(跨数据库事务)
- 详解Mysql分布式事务XA(跨数据库事务)
- MySQL数据库分布式事务XA实现原理分析
- MySQL数据库分布式事务XA优缺点与改进方案
- 17 mysql XA事务
- MySQL中的XA事务
- referred from timer.o
- 字符实体:在 HTML 中显示小于号 (<)
- final 与 static(转载)
- app基本测试流程
- android一键分享网页到朋友圈
- MySQL分布式XA事务
- JVM调优之jstack找出最耗cpu的线程并定位代码
- poj1169 枚举
- 颜色转换
- SVN设置钩子函数
- 工厂模式demo
- Sciter:汉化右键菜单
- ios更改webView弹窗样式,有显示域名链接
- 将maven与MyEclipse相关联