MySQL トランザクション管理の概要 (例付き)

不言
リリース: 2019-02-27 11:59:20
転載
2450 人が閲覧しました

この記事では、MySQL トランザクション管理の概要を (例とともに) 紹介します。必要な方は参考にしていただければ幸いです。

トランザクション処理は、データベースなどの整合性を維持し、mysql 操作が成功または失敗することを保証するために使用されます (myisam はトランザクションをサポートしていません)

1。

    ##トランザクションは SQL ステートメントのグループを指します。
  1. ロールバックは、指定された SQL ステートメントを元に戻すプロセスを指します。
  2. コミットとは、保存されていない SQL ステートメントの結果をデータベース テーブルに書き込むことを指します。
  3. セーブポイントは、トランザクション処理で設定された一時的なプレースホルダー (プレースホルダー) を指します。 (トランザクション全体をロールバックするのではなく) ロールバックを発行できます。
  4. 2. rollback
select * from orderitems;
START TRANSACTION;
DELETE FROM orderitems;
select * from orderitems;
ROLLBACK;
select * from orderitems;
ログイン後にコピー

3 を使用します。commit

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
ログイン後にコピー
ヒントを使用します。

予約ポイントは多ければ多いほど便利で柔軟にご利用いただけますが、わざわざお越しいただく必要はありません。すべては適度に行われます

保持ポイントの解放


    トランザクションの完了後 (ROLLBACK または COMMIT の実行)、保持ポイントは自動的に解放されます
  1. release savepoint delete1

    保持ポイントを明確に解放します

  2. 5. デフォルトをコミット動作に変更します

mysql はすべての変更を自動的にコミットします。

変更を自動的にコミットしないでください

set autocommit = 0;
ログイン後にコピー

以上がMySQL トランザクション管理の概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!