set autocommit =0; //自動コミットをオフにする
//トランザクションを開始します。 ---. .....
commit; // トランザクションを正式にコミットします。
コミット後、set autocommit =1 を復元する必要がありますか?他の人のケースは復元されていません。コミットは自動的に復元されますか?
ディスカッション (解決策) への返信
は複数あるため、必要ありません。通常、トランザクションは 1 つのプログラムコードで実行されることはありません。 操作
実行できたとしても、それはあなたの制御下にあります
接続が切断されると、設定は自動的に無効になります
必要ありません
一般的にプログラムコード内で行われないため 複数のトランザクション操作
あったとしても、お客様の制御下にあります
接続が切断されると、設定は自動的に無効になります
まだよくわかりません:
1. PHP の 1 つのスクリプトで、DB クラスを 1 回インスタンス化します。DB オブジェクトがスクリプト内で 100 個のさまざまなコマンドを実行するとします。
コマンドを実行するたびに自動的に切断されます。それとも、常に同じ接続を使用するのでしょうか?
autocommit のデフォルトは 1 です。これは、autocommit =0 を設定して、明らかにこれをオフにします。はあなたの個人的な行動です したがって、トランザクションが終了した後、自動コミットを 1 に戻す必要があるかどうかは、当然あなたの個人的な行動です
データベースに再接続するだけでよく、関係なく自動コミットは 1 のままです。最後の操作後の状態。これはサーバーの動作です
1 つのトランザクションを実行した後、さらに 100 件のトランザクションを実行する必要がある場合、トランザクションの自動送信をオフにするか有効にする必要がありますか?