2
私は、データベース保存/更新呼び出し、try catchブロック内のコマンドラインのやりとりなどのプロセスをたくさん持っています。try catchブロック内のプロセスをロールバックする
私が不思議に思っているのは、例外に達した場合、試し中括弧内のすべてがロールバックされて元に戻されますか?
もしそうでなければ、これに近づく最も良い方法は何でしょうか?
私は、データベース保存/更新呼び出し、try catchブロック内のコマンドラインのやりとりなどのプロセスをたくさん持っています。try catchブロック内のプロセスをロールバックする
私が不思議に思っているのは、例外に達した場合、試し中括弧内のすべてがロールバックされて元に戻されますか?
もしそうでなければ、これに近づく最も良い方法は何でしょうか?
PHPはデータベースサーバーの機能を制御しません。データベーストランザクションが必要な場合は、データベースサーバに開始するように指示する必要があります。これは、もちろん、あなたのDBMSに完全に依存します。
データベースエンジンがトランザクションをサポートしている場合、コミットされていないデータは、スクリプトの終了時に自動的にロールバックされます。
例外の場合にリリースする必要がある場合は、通常[最終](https://www.adayinthelifeof.nl/2013/02/12/php5-5-trycatchfinally/)を使用します。 。例外の場合にのみ変更を取り消す必要がある場合は、exceptブロックの変更を元に戻すコードを入力します。 – Natecat