定義: PDO
トランザクション関数は PDO
の追加関数ではなく、MySQL
カプセル化実装によって元々サポートされていたトランザクション操作を特定の変更を加えたものです。注: トランザクションの実行が成功するかどうかは、MySQL
の対応するストレージ エンジンがサポートしているかどうかによって決まります。
1. トランザクション機能のレビュー: トランザクションとは、1 回の操作でデータ テーブルに書き込むデフォルトのメカニズムを変更することを指します。代わりに、トランザクション ログを通じて操作を記録し、それを最後に 1 回限りの操作を行ってデータシートにコピーします。
トランザクションの開始、書き込み操作はデータ テーブルへの直接書き込みを停止しますが、トランザクション ログに記録されます
成功した送信:
commit、すべてのトランザクション ログの内容をデータ テーブルに同期し、現在のトランザクション ログをクリアします
失敗したロールバック:
、現在のトランザクション ログを直接クリアします
<?php $pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root'); $pdo->beginTransaction() or die('事务开启失败');//开启事务 $pdo->exec('insert into student values()');//执行事务 //终止事务 $pdo->commit(); //成功提交 $pdo->rollback(); //失败回滚
ロールバック ポイント メカニズムが PDO
に実装されていません。必要に応じて、SQL コマンド
settings<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
$pdo->beginTransaction() or die('事务开启失败');//开启事务
$pdo->exec('insert into student values()');//执行事务
//设置回滚点
$pdo->exec('savepoint sp1');
//继续执行事务...
//回滚
$pdo->exec('rollback to sp1');
//终止事务
$pdo->commit(); //成功提交
$pdo->rollback(); //失败回滚
?>
以上がPDOトランザクション機能についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。