PDOトランザクション機能について

autoload
リリース: 2023-04-09 19:42:01
オリジナル
3117 人が閲覧しました

定義: PDOトランザクション関数は PDO の追加関数ではなく、MySQL カプセル化実装によって元々サポートされていたトランザクション操作を特定の変更を加えたものです。注: トランザクションの実行が成功するかどうかは、MySQL の対応するストレージ エンジンがサポートしているかどうかによって決まります。

1. トランザクション機能のレビュー: トランザクションとは、1 回の操作でデータ テーブルに書き込むデフォルトのメカニズムを変更することを指します。代わりに、トランザクション ログを通じて操作を記録し、それを最後に 1 回限りの操作を行ってデータシートにコピーします。

  • #トランザクションの開始:

    トランザクションの開始、書き込み操作はデータ テーブルへの直接書き込みを停止しますが、トランザクション ログに記録されます

  • # #トランザクション操作: 特定の書き込み操作、通常は複数のステップと複数の命令
  • トランザクションのコミット: つまり、トランザクション操作の終了
  • 成功した送信:

    commit

    、すべてのトランザクション ログの内容をデータ テーブルに同期し、現在のトランザクション ログをクリアします
    失敗したロールバック:

    rollback

    、現在のトランザクション ログを直接クリアします

2. PDO クラスは、トランザクション操作を実装するための一連のソリューションを提供します。

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
ログイン後にコピー

3. トランザクション中操作では、

ロールバック ポイント メカニズムが PDO に実装されていません。必要に応じて、SQL コマンド settings

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务
//设置回滚点
$pdo->exec(&#39;savepoint sp1&#39;);

//继续执行事务...

//回滚
$pdo->exec(&#39;rollback to sp1&#39;);

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
?>
ログイン後にコピー
を通じて実装できます。 推奨事項:

php チュートリアル

php ビデオ チュートリアル

以上がPDOトランザクション機能についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート