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 の違いの詳細な説明
HTML を記述する過程で、クラス属性に複数の値を定義することがよくありますが、定義した値が無効であ...
yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...
目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...
目次1. リテラル1.1 数値リテラル1.2 浮動小数点リテラル1.3 特別な値1.4 文字列リテラ...
目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...
アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...
目次この期間の目標1. 関数の実装1.1 構造層1.2 スタイルレイヤー1.3 行動層1.3.1 フ...
この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する2番目の記事を参考までに...
will-change は、要素にどのような変更が行われるかをブラウザに伝え、ブラウザが事前に最適化...
この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
1. インストールバージョンの詳細 サーバー: MariaDB サーバーバージョン: 5.5.60-...
目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...
序文日常の開発では、テキストの水平スクロール効果(一般にカルーセルと呼ばれる)によく遭遇します。これ...
WeChat アプレット プロジェクトを書いていたとき、その中に「都市選択」機能がありました。作者は...