MySQLトリガーの簡単な使用例

MySQLトリガーの簡単な使用例

この記事では、例を使用して MySQL トリガーの簡単な使用方法を説明します。ご参考までに、詳細は以下の通りです。

MySQL トリガーは、ストアド プロシージャと同様に、MySQL に埋め込まれたプログラムです。トリガーは、INSERT、UPDATE、DELETE などのイベントによってトリガーされますが、SELECT によってトリガーされることはありません。

トリガーを作成する

CREATE TRIGGER name,time,event ON table_name FOR EACH ROW trigger_stmt

例えば

次のようにコードをコピーします
各行のアカウントにINSERTする前に、トリガーins_sumを作成し、@sum = @sum + NEW.amountを設定します。

複数の実行ステートメントを持つトリガー

テーブル test1(a1 INT) を作成します。
テーブル test2(a2 INT) を作成します。
テーブル test3 を作成します (a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
テーブルtest4を作成します(
  a4 INT NOT NULL AUTO_INCREMENT 主キー、
  b4 INT デフォルト 0
);
区切り文字 //
test1 に INSERT する前にトリガー testref を作成します。
  各行の開始
    test2に挿入 a2 = NEW.a1 を設定します。
  a3 = NEW.a1 の場合、test3 から削除します。
    test4 を更新します。b4 = b4 + 1 を設定します。WHERE a4 = NEW.a1;
  終わり
  //
区切り文字 ;
test3(a3) に値 (NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL)、(NULL);
test4(a4)に値(0),(0),(0),(0),(0),(0),(0),(0),(0),(0);
//テストを開始する INSERT INTO test1 VALUES (1), (3), (1), (7), (1), (8), (4), (4);

トリガーを表示

SHOW TRIGGERS \G; //すべて表示 SELECT * FROM information_schema.TRIGGERS where TRIGGER_NAME = 'testref';

トリガーの削除

DROP TRIGGER testref;

包括的なケース

ステップ1: 人物テーブルを作成する

テーブル persons (name VARCHAR(40), num int) を作成します。

ステップ2: 売上表を作成する

テーブルsales(name VARCHAR(40), sum int)を作成します。

ステップ3: トリガーを作成する

persons に INSERT した後に トリガー num_sum を作成します。
各行に sales VALUES (NEW.name,7*NEW.num) を挿入します。

ステップ4: personsテーブルにレコードを挿入する

人物にVALUES('xiaoxiao',20),('xiaohua',69)を挿入します。
人物から*を選択します。
*FROM 売上を選択します。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQLトリガーの使用法の詳細な説明
  • MySQLトリガーの概念、原理、使用法の詳細な説明
  • MySQL のトリガーの簡単な紹介と使用例
  • MySQL トリガーとストアド プロシージャをテストする方法
  • MySQLでトリガーを作成する方法
  • MySQL 5.0 トリガーリファレンスチュートリアル
  • MySQL と SQL でトリガーを記述するさまざまな方法
  • MySQL のトリガーに関する基礎学習チュートリアル
  • MySQLトリガーの簡単な例と紹介
  • MySQLトリガーの使用例の詳細
  • MySQL トリガー構文とアプリケーション例

<<:  Node.jsを使用してホットリロードページを実装する方法の詳細な説明

>>:  ZabbixはPSK共有キーを使用してサーバーとエージェント間の通信を暗号化します。

推薦する

XHTML: フレーム構造タグ

フレーム構造タグ <frameset></frameset>フレームを使用す...

CSSスクロールバースタイル設定の実装

Webkit スクロールバー スタイルのリセット1. スクロールバーには、スクロールバー ボタンとト...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

MySQLテーブルをコピーする方法

目次1.mysqlダンプ実行プロセス:特徴2. CSVファイルをエクスポートする(最も柔軟性が高い)...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

JavaScript Sandboxについての簡単な説明

序文:サンドボックスといえば、私たちの頭には反射的に上の写真が思い浮かび、すぐに興味がわいてくるかも...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

Vue で Excel ストリーム ファイルをダウンロードし、ダウンロード ファイル名を設定する方法

目次概要1. URL経由でダウンロード2. aタグのダウンロード属性とblobコンストラクタを組み合...

Vue で配列をクリアするいくつかの方法 (要約)

目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...

初心者向けの MySQL のインストール方法 (効果が実証済み)

1. ソフトウェアのダウンロードMySQL のダウンロードとインストール:公式サイトのダウンロード...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

DockerでGDBを使用するときにブレークポイントを入力できない問題を解決する

質問docker で gdb を実行すると、ブレークポイントに到達しますが、ブレークポイントに入るこ...

Linux の検索ツールの代替となるフレンドリーなツール

find コマンドは、指定されたディレクトリ内のファイルを検索するために使用されます。引数の前の文字...

Portainer を使用して Docker のビジュアル インターフェースを構築する方法

ポーテナーの紹介Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な...

JSはシンプルなカウンターを実装します

HTML CSS および JavaScript を使用して、プラス、マイナス、ゼロの 3 つのボタン...