この記事の内容は、MySQL トランザクション管理 (基本) についての簡単な説明です。必要な方は参考にしていただければ幸いです。
トランザクション処理は、データベースなどの整合性を維持し、mysql 操作が成功または失敗することを保証するために使用されます (myisam はトランザクションをサポートしていません)
1キーワード
トランザクションは一連の SQL ステートメントを指します。
#ロールバックは、指定されたステートメントを元に戻すプロセスを指します。 SQL ステートメント;
コミット (コミット) は、保存されていない SQL ステートメントの結果をデータベース テーブルに書き込むことを指します。トランザクション処理中の設定へのロールバック (トランザクション全体をロールバックするのではなく) を発行できる一時的なプレースホルダー。
select * from orderitems; START TRANSACTION; DELETE FROM orderitems; select * from orderitems; ROLLBACK; select * from orderitems;
#3。コミット## を使用します。 #START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT
2 回目の削除が失敗したと仮定し、トランザクション処理ブロックのステートメントをロールバックして取り消します
4。保持ポイントを使用します。 複雑なトランザクション処理では、部分的なコミットまたはロールバックが必要になる場合があります。
トランザクションの一部のロールバックをサポートするには、トランザクション ブロック内の適切な場所にプレースホルダーを配置する必要があります。こうすることで、ロールバックする必要がある場合に、プレースホルダーにフォールバックできます。これらのプレースホルダーは保持ポイントと呼ばれます。プレースホルダーを作成するには、次のように SAVEPOINT を使用します。
保持ポイントの作成
SAVEPOINT delete1
保持ポイントへのフォールバック
ROLLBACK TO delete1
#ヒント:
予約ポイントは多ければ多いほど便利で、柔軟に使用できますが、わざわざ来る必要はありません。ただ来てください!すべては適度に行われます 保持ポイントの解放
1. トランザクションの完了後 (ROLLBACK または COMMIT の実行)、保持ポイントは自動的に解放されます 2. セーブポイントを解放します。 delete1保持ポイントを明確に解放します。
5. デフォルトをコミット動作に変更します。 mysql はすべての変更を自動的にコミットします。
変更を自動的に送信しない<pre class="brush:php;toolbar:false">set autocommit = 0;</pre>
上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !
以上がMySQL トランザクション管理 (基本) についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。