ホームページ  >  記事  >  データベース  >  MySQL トリガーを作成および削除する方法

MySQL トリガーを作成および削除する方法

WBOY
WBOY転載
2023-05-28 16:34:111004ブラウズ

MySQL トリガーを作成および削除する方法

1. なぜトリガーが必要なのでしょうか?

製品テーブルや在庫テーブルなど、いくつかのテーブルは相互に関連しています。製品テーブルの場合は、データの整合性を確保するために、対応する在庫テーブルも変更する必要があります。自分で手動でメンテナンスするのはさらに面倒です。
このとき、商品情報データの挿入操作が自動的に在庫データなどの挿入操作をトリガーするようにトリガーを作成することができ、忘れによるデータの損失を心配する必要はありません。在庫データを追加します。

2. トリガーの概要

  • MySQL はバージョン 5.0.2 以降のトリガーをサポートします

  • MySQL トリガーストアド プロシージャは、MySQL サーバーに埋め込まれたプログラムです

  • ##トリガーは、操作をトリガーするイベントです。これらのイベントには、挿入、削除、更新イベントが含まれます

  • トリガー プログラムが定義されている場合、データベースがこれらのステートメントを実行すると、イベントが発生したことと同等になり、トリガーが自動的にトリガーされて、対応する操作が実行されます

    # #データベース内のテーブルにデータを挿入するときにデータベース ロジックを自動的に実行する必要がある場合は、トリガーを使用してこれを実現できます。
  • 3. トリガーの作成
3.1 構文

トリガーはテーブルに作用します。たとえば、テーブル A に新しい項目を追加したいとします。トリガーの実行は記録時にトリガーされます。また、トリガーを挿入ステートメントの実行前に実行するか後に実行するかを選択する必要もあります。

各行は、イベント (挿入、更新、または削除) が実行されるたびにトリガーがトリガーされることを示します
  • CREATE TRIGGER 触发器名称 
    {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 
    FOR EACH ROW 触发器执行的语句块;

    説明:

    テーブル名
  • : トリガーによって監視されるオブジェクトを示します。

  • BEFORE|AFTER
  • : トリガー時間を示します。 BEFORE はイベントの前にトリガーすることを意味し、AFTER はイベントの後にトリガーすることを意味します。

  • INSERT|UPDATE|DELETE
  • : トリガーされたイベントを示します。

  • INSERT はレコードが挿入されたときにトリガーされることを意味します;
    • UPDATE はレコードが更新されたときにトリガーされることを意味します;
    • DELETE は、レコードが削除されたときにトリガーされることを示します。
    トリガーによって実行されるステートメント ブロック
  • : 単一の SQL ステートメント、または BEGIN...END 構造で構成される複合ステートメント ブロックにすることができます。

    3.2 ケースのデモ
最初にテーブルを準備します

CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));

要件: トリガーの作成: before_insert という名前のトリガーを作成し、test_trigger データに挿入します。 table データの前に、before_insert のログ情報を test_trigger_log データ テーブルに挿入します。


MySQL トリガーを作成および削除する方法
4. ビュー トリガーMySQL トリガーを作成および削除する方法

ビュー トリガーは、データベースにすでに存在するトリガーの定義を表示します。ステータスや構文情報など。
  • 方法 1: 現在のデータベース内のすべてのトリガーの定義を表示します。
  • show triggers\G 注意,在SQLyog中,不能加上\G

MySQL トリガーを作成および削除する方法

方法 2: 現在のデータベース内のトリガーの定義を表示する
  • show create trigger 触发器名

MySQL トリガーを作成および削除する方法

方法 3 :システム ライブラリ information_schema
  • SELECT * FROM information_schema.TRIGGERS;

    5 の TRIGGERS テーブルから「salary_check_trigger」トリガー情報をクエリします。トリガーを削除します。
トリガーもデータベース オブジェクトです。トリガーと同様に、drop ステートメントを使用して

drop trigger if exists 触发器名;
を削除します

以上がMySQL トリガーを作成および削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。