1. トリガーの紹介1. トリガーとは何ですか?トリガーは、定義された条件が満たされたときにトリガーされ、トリガーで定義された一連のステートメントを実行する、テーブルに関連付けられたデータベース オブジェクトです。 2. トリガーの特徴
つまり、操作はイベントによってトリガーされ、 注意: ! !トリガーはできるだけ使用しないでください。お勧めしません。 トリガーがトリガーされるたびに 1 秒かかり トリガーは、どのような場合でも大量のリソースを消費するため、できるだけ使用しないでください。使用する場合は、注意して使用し、非常に効率的であることを確認してください。トリガーは各行に対して実行されます。頻繁に追加、削除、変更されるテーブルでは、大量のリソースを消費するため、トリガーを使用しないでください。 2. トリガーを作成する作成する [定義者 = { ユーザー | 現在のユーザー }] トリガー トリガー名 トリガー時間 トリガーイベント tbl_name の各行 [トリガー順序] トリガー本体 トリガー時間: { 前 | 後 } トリガーイベント: { INSERT | UPDATE | DELETE } トリガー順序: { 後続 | 前 } 他のトリガー名
1. 実行文を1つだけ持つトリガーを作成する
例 1: trig1 という名前のトリガーを作成します。作業テーブルで挿入アクションが実行されると、現在の時刻が時間テーブルに自動的に挿入されます。 mysql> 挿入後にトリガー trig1 を作成する -> ON 行ごとに作業 -> time VALUES(NOW()) に INSERT します。 2. 複数の実行文を持つトリガーを作成する
例 2:削除操作が条件を満たすと、 mysql> 区切り文字 || mysql> 削除する前にトリガー trig2 を作成する -> ON 行ごとに作業 -> 開始 -> time VALUES(NOW()) に INSERT します。 -> time VALUES(NOW()) に INSERT します。 -> 終了|| mysql> 区切り文字 ; 3. NEWとOLDの詳しい説明
①
方向:
さらに、 例3: mysql> アカウントテーブルを作成します (acct_num INT、金額 DECIMAL(10,2)); mysql> アカウントに INSERT INTO VALUES(137,14.98),(141,1937.50),(97,-100.00); mysql> 区切り文字 $$ mysql> アカウントの更新前にトリガー upd_check を作成します -> 各行ごとに -> 開始 -> IF NEW.amount < 0 の場合 -> SET NEW.amount = 0; -> ELSEIF NEW.金額 > 100 THEN -> SET NEW.amount = 100; -> 終了IF; -> 終了$$ mysql> 区切り文字; mysql> アカウントを更新し、amount=-10 を設定します。acct_num=137; mysql> アカウントから * を選択します。 +----------+---------+ | アカウント番号 | 金額 | +----------+---------+ | 137 | 0.00 | | 141 | 1937.50 | | 97 | -100.00 | +----------+---------+ mysql> アカウントを更新し、金額を 200 に設定し、acct_num を 137 に設定します。 mysql> アカウントから * を選択します。 +----------+---------+ | アカウント番号 | 金額 | +----------+---------+ | 137 | 100.00 | | 141 | 1937.50 | | 97 | -100.00 | +----------+---------+ 3. トリガーを表示する1. トリガー情報を表示するためのSHOW TRIGGERSステートメント
その結果、すべてのトリガーの基本情報が表示されますが、指定されたトリガーを照会することはできません。 2. information_schema.triggersテーブルでトリガー情報を表示する
その結果、すべてのトリガーの詳細情報が表示されます。同時に、このメソッドでは、指定されたトリガーの詳細情報を照会できます。 mysql> information_schema.triggers から * を選択します -> ここで、trigger_name='upd_check'\G; ヒント: すべてのトリガー情報は、 4. トリガーを削除する
トリガーを削除した後は、上記の方法で再度確認することをお勧めします。同時に、 ヒント: 予期しない操作を回避するために、不要になったトリガーを削除することが重要です。 以下もご興味があるかもしれません:
|
>>: CSS の flex と inline-flex の違いの詳細な説明
目次1. Vue3コンポーネント通信方式2. Vue3通信の使い方2.1 小道具2.2 $エミット2...
1.Jenkinsのインストール手順: https://www.jb51.net/article/1...
Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...
1. 環境整備各コンテナの IP アドレス: nginx: 172.16.10.10マイSQL: 1...
Mysqlが2つのテーブルを関連付けると、次のエラーメッセージが生成されます:照合順序の不正な組み合...
目次1. インストールパッケージ(64ビット)をダウンロードする2. MySQLデータベースをインス...
ポップアップは、現在のウィンドウにメニューツールバーがあるかどうかとは関係ありません。ページにスクリ...
この記事では、Web ページの作成を学習するときに注意すべき HTML タグに関するいくつかの問題を...
まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...
プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...
目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...
目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...
Less is More は多くのデザイナーのキャッチフレーズです。これは建築界の巨匠ルートヴィヒ...
MySQL にリモートでログインする場合、使用するアカウントには特別な要件があります。アカウントのデ...
MySQL 8.0.19 では、間違ったパスワードを 3 回入力するとアカウントがロックされるよう...