PHPバージョン5.6
MariaDB 10.0
フレームワーク等は使用しておりません。
下記のようにデータベースA、データベースBがあり
データベースAにINSERTが出来ていれば、データベースB
にもINSERTを行う処理を行っております。
つきましては、データベースAは正常にINSERTが終了したが
データベースBのINSERTが失敗したときに、データベースAに
INSERTされたデータをロールバックもしくは削除したいと考えて
おります。
二つのDBに対するロールバックの方法がございましたら
お教え頂けないでしょうか。
稚拙な質問で申し訳ございませんが、
宜しくお願い致します。
php
1//=============================================== 2//データベースA 3//=============================================== 4 try { 5require './common/dbconnect.php'; 6 $pdo->beginTransaction(); 7 $stmt = $pdo->prepare(" INSERT INTO ******"); 8 9 $ret = $stmt ->execute(); 10 $pdo->commit(); 11 } catch (Exception $ex) { 12 $pdo->rollBack(); 13 exit(); 14 } 15//=============================================== 16//データベースB 17//=============================================== 18 19 try { 20 require './common/dbconnect_new.php'; 21 $pdo_new->beginTransaction(); 22 if (!empty($ret)) { 23 $stmt_team = $pdo_new->prepare(" INSERT INTO *****); 24 } 25 $stmt_team->execute(); 26 $pdo_new->commit(); 27 } catch (Exception $ex) { 28 $pdo_new->rollBack(); 29 exit(); 30 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/24 05:39