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共有キーを使用してサーバーとエージェント間の通信を暗号化します。

推薦する

Docker可視化ツールPortainerの導入と中国語翻訳

#docker 検索#docker プルポーター1. イメージを取得した後、中国語パッケージをダウン...

最もよく使用されるJavaScriptイベントについて詳しく学ぶ

目次JavaScript イベント:よく使用されるイベント:イベントアクション要約するJavaScr...

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

一般的な nginx コマンドをシェル スクリプトに組み込む方法の詳細な説明

1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...

1 行のコードでさまざまな IE 互換性の問題を解決します (IE6-IE10)

x-ua-compatible は、IE ブラウザがページを解析およびコンパイルするためのモデルを...

Web プロジェクト開発 JS 機能の手ぶれ補正とスロットリングのサンプル コード

目次安定導入手ぶれ補正シーン1(マウスの動き込み)手ぶれ補正シーン2(キーボードのキー)関数のスロッ...

Dockerコマンドは一般ユーザーが実行できるように実装されている

dockerをインストールすると、通常はdockerユーザーグループが作成されます。ステップ2: 現...

この記事は、Dockerにおけるcgroupの具体的な使用法を徹底的に理解するのに役立ちます。

目次cgroupとはcgroupの構成cgroupが提供する機能cgroup 内の CPU を制限す...

88 秒で 1,000 万件のレコードを MySQL データベース テーブルに挿入する方法

私が使用しているデータベースはMySQLデータベースバージョン5.7ですまずデータベーステーブルを自...

Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する

1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...

Linux curl フォームのログインまたは送信と Cookie の使用に関する詳細な説明

序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...

HTML ヘッド構造

以下では、よく使われるヘッド構造と、各タグや要素の意味や使用シーンを紹介します(この記事は、Yisi...

マウスを動かしたときに画像のズーム効果とゆっくりとした遷移​​効果を実現するCSSのサンプルコード

transform:scale()比例したズームインまたはズームアウトを実現できます。 transi...

Vue codemirrorはオンラインコードコンパイラの効果を実現します

序文Web 上でオンライン コード コンパイルの効果を実現したい場合は、 CodeMirrorを再度...