MySQL トリガーの追加、削除、変更、クエリ操作の例

MySQL トリガーの追加、削除、変更、クエリ操作の例

この記事では、例を使用して、MySQL トリガーの追加、削除、変更、およびクエリ操作について説明します。ご参考までに、詳細は以下の通りです。

トリガーを作成したら、トリガー定義ファイルが含まれているデータ フォルダーにその定義を表示できます。トリガーは、次のデータベース フォルダーにプレーン テキスト ファイルとして保存されます。

/データフォルダ/データベース名/テーブル名.trg

次のように information_schema データベースのトリガー テーブルをクエリしてトリガーを表示することもできます。

選択 
  *
から
  情報スキーマトリガー
どこ
  トリガースキーマ = 'データベース名'
    AND トリガー名 = 'トリガー名';

このステートメントを使用すると、トリガーの内容とそのメタデータ (関連付けられたテーブル名や、トリガーを作成した mysql ユーザーの名前である定義者など) を表示できます。

指定されたデータベース内のすべてのトリガーを取得する場合は、次の SELECT ステートメントを使用して、information_schema データベースのトリガー テーブルからデータを照会する必要があります。

選択
  *
から
  情報スキーマトリガー
どこ
  トリガースキーマ = 'データベース名';

特定のテーブルに関連付けられているすべてのトリガーを検索するには:

選択 
  *
から
  情報スキーマトリガー
どこ
  トリガースキーマ = 'データベース名'
    かつ、event_object_table = 'table_name';

従業員テーブルに関連付けられているすべてのトリガーを見てみましょう。

information_schema.triggers から * を選択
WHERE trigger_schema = 'データベース名'
    かつ、event_object_table = '従業員';

特定のデータベース内のトリガーを表示する別の方法は、SHOW TRIGGERS ステートメントを使用することです。構文は次のとおりです。

SHOW TRIGGERS [FROM|IN] データベース名
[LIKE expr | WHERE expr];

たとえば、現在のデータベース内のすべてのトリガーを表示する場合は、次のように SHOW TRIGGERS ステートメントを使用できます。

トリガーを表示;

特定のデータベース内のすべてのトリガーを取得するには、SHOW TRIGGERS ステートメントでデータベース名を指定します。たとえば、データベース luyaran のすべてのトリガーをクエリするには、次のようにします。

luyaran からのトリガーを表示します。

特定のテーブルに関連付けられているすべてのトリガーを取得するには、SHOW TRIGGERS ステートメントで WHERE 句を使用できます。 次のステートメントは、employees テーブルに関連付けられているすべてのトリガーを返します。

luyaran からのトリガーを表示
WHERE `table` = 'employees';

ここで、テーブルは MySQL の予約キーワードであるため、テーブル列を囲むためにバックティックを使用していることに注意してください。次に、SHOW TRIGGERS ステートメントを実行すると、MySQL は次の列を返します。

  • トリガー: before_employee_update トリガーなどのトリガーの名前を格納します。
  • イベント: トリガーを呼び出した INSERT、UPDATE、DELETE などのイベントを指定します。
  • テーブル: トリガーが関連付けられているテーブル (従業員テーブルなど) を指定します。
  • ステートメント: トリガーが呼び出されたときに実行されるステートメントまたは複合ステートメントを格納します。
  • タイミング: トリガーのアクティブ化時間を指定する BEFORE と AFTER の 2 つの値を受け入れます。
  • 作成日: トリガーが作成された作成時刻を記録します。
  • sql_mode: トリガーが実行される際の SQL モードを指定します。
  • 定義者: トリガーを作成したアカウントを記録します。

ここで注意しなければならないのは、上記のステートメントを許可するには、少なくとも SUPER 権限が必要であるということです。

次に、DROP TRIGGER ステートメントを使用して既存のトリガーを削除してみましょう。

DROP TRIGGER テーブル名.トリガー名;

employees テーブルに関連付けられた before_employees_update トリガーを削除する場合は、次のステートメントを実行します。

DROP TRIGGER employees.before_employees_update;

トリガーを変更する場合は、まずトリガーを削除し、新しいコードで再作成する必要があります。 MySQL には ALTER TRIGGER ステートメントがないため、テーブル、ビュー、ストアド プロシージャなどの他のデータベース オブジェクトを変更するのと同じようにトリガーを変更することはできません。

さて、この記録についてはこれですべてです。

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

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

以下もご興味があるかもしれません:
  • PHPを使用してMySqlデータベースにアクセスする論理操作と追加、削除、変更、チェックの例
  • PHPは、オブジェクト指向のmysqli拡張ライブラリを実装し、追加、削除、変更、クエリ操作ツールクラスを作成します。
  • PHP MySqlの追加、削除、変更、チェックの簡単な例
  • PHP+MySQLは、シンプルな追加、削除、変更、クエリ機能を実装します。
  • PHP+MYSQLはユーザーの追加、削除、変更、クエリを実装します
  • MySQL の詳細な単一テーブルの追加、削除、変更、クエリの CRUD ステートメント
  • MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]
  • MySQLとPHPの基礎と応用: 追加、削除、変更、クエリ

<<:  カルーセル効果を実現するためのネイティブJavaScript+CSS

>>:  Ubuntu ベースのディストリビューションに Microsoft TrueType フォントをインストールするチュートリアル

推薦する

レスポンシブ原則のソースコード分析のVue解釈

目次初期化初期化状態()初期化プロパティ()初期化データ()観察する()オブザーバーリアクティブを定...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

MySQL での Join の使用に関する詳細な説明

前の章では、1 つのテーブルからデータを読み取る方法を学習しました。これは比較的簡単ですが、実際のア...

IE6かどうかを判定する最短JS(IEの書き方)

ブラウザが IE のどのバージョンであるかを検出するためによく使用される JavaScript コー...

ネイティブ JavaScript でシンプルな Gobang ゲームを実装する

この記事では、JavaScriptで簡単なGobangゲームを実装するための具体的なコードを参考まで...

JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

処理能力と同時実行性を向上させるために、Web コンテナは通常、リクエストを処理するタスクをスレッド...

HTML テーブルタグチュートリアル (20): 行の背景色属性 BGCOLOR

BGCOLOR 属性を使用して、行の背景色を設定できます。基本的な構文<TR BGcolor...

JavaScript ウェブページ入門開発詳細説明

パート3: ❤バックエンドデータ受信を見落とす3つの方法❤ (おすすめ集)パート 2: Web フォ...

HTML 基本ノート (推奨)

1. ウェブページの基本構造: XML/HTML コードコンテンツをクリップボードにコピー<...

CSS の位​​置属性 (absolute|relative|static|fixed) の概要と応用

まず、CSS3 Api の position 属性の定義を見てみましょう。 static: 特別な配...

JavaScriptの動作原理を理解しましょう

目次ブラウザカーネルJavaScript エンジンV8エンジンJavaScript がどのように実行...

CSS で美しい時計アニメーション効果を実装するためのサンプルコード

仕事を探しています!!!事前準備:まず、このアニメーションは、以前のローディングアニメーションとクー...

Docker用国産イメージウェアハウスの使い方

1. 問題の説明何らかの理由により、中国でのDockerイメージのダウンロード速度は特に遅くなります...

VUEトークンの無効化プロセスの詳細な説明

目次ターゲット思考分析コード着陸要約するターゲットトークンの有効期限切れシナリオの処理トークンは、ユ...