ホームページ  >  記事  >  データベース  >  MySQL の高度なトリガー

MySQL の高度なトリガー

高洛峰
高洛峰オリジナル
2016-12-02 13:51:17940ブラウズ

トリガーは、特定のデータ操作 (挿入/更新/削除) を監視し、関連する操作 (挿入/更新/削除) をトリガーできる特別なタイプのトランザクションです。

MySQL の高度なトリガー

次のイベントを見てください:

MySQL の高度なトリガー

注文と在庫削減のロジックを完了します

o (gid,num) 値に挿入します // ステートメントを挿入します

;

Update g set Goods_num = Goods_num - 3 where id = 2;//更新プロセス

これら 2 つのロジックを全体としてみなすことも、---> を挿入すると update につながります

トリガーは上記の問題を解決できます。質問です。

特定のテーブルの変更を監視し、特定の変更が発生したときに操作をトリガーできます。

MySQL の高度なトリガー

トリガーを作成するための構文

トリガーの作成triggerName

挿入後/挿入前/テーブル名を更新/削除

各行 #この文は修正されています

Begin

Sqlステートメント; #insert/update/deleteの範囲内で1つ以上の文

End;

の構文削除トリガー:

ドロップトリガー トリガー名

トリガーの表示

トリガーの表示

MySQL の高度なトリガー

トリガー内の行の値の参照方法

挿入の場合、新しい行はnew、

で表されます行内の各列の値は、列名で表されます

削除された行を参照したい場合は、old を使用して表します。 、old.列名は、削除された行の値を参照できます。

変更された行は、

変更前のデータを参照します。変更前の行の値

変更されたデータは new で表されます。列名は変更された値を参照します

トリガー

が完了した後、トリガーの前に追加、削除、および変更を実行します。MySQL の高度なトリガー

によってトリガーされるステートメントは、監視対象の追加、削除、および変更よりも後であるため、以前の追加、削除、および変更のアクションには影響しません。

MySQL の高度なトリガーBefore は最初にトリガーし、次に追加、削除、および変更を行うステートメントです。

監視の追加、削除、および変更が発生する前に、今後の操作を判断して変更する機会があります

。典型的なケース:

注文数量が 5 を超える場合、悪意のある注文であると判断し、

注文した商品の数量を強制的に 5 に変更します

どのトリガーかを確認してください:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。