MySQLトリガーの詳しい説明

怪我咯
怪我咯オリジナル
2017-07-05 11:16:291484ブラウズ

この記事では主に MySQL トリガー の詳細な説明と簡単な例を紹介します

MySQL トリガーの簡単な例

CREATE TRIGGER 6cf41c38271d577a91efb01c7ef7fdb1 -- トリガーは特定のテーブルに属します。このテーブルで挿入、更新、または 削除
操作が実行されると、同じスケジュールを 2 つ与えることはできません。テーブル内の同じイベントのトリガー。

FOR EACH ROW --トリガーの実行間隔: FOR EACH ROW 句は、テーブル全体に対して 1 回ではなく、1 行おきにアクションを実行するようにトリガーに通知します。

ce016e5e97e4f5ba4692f597dbc60fd0 -- トリガーには、トリガーされる SQL ステートメントが含まれます。ここでのステ​​ートメントには、複合ステートメントを含む任意の正当なステートメントを使用できますが、ここでのステ​​ートメントは 関数
の制限に従います。同じ。

-- トリガーを作成するには (CREATE TRIGGER)、かなりの権限が必要です。すでに Root ユーザーであれば、それで十分です。これは SQL 標準とは異なります。 インスタンス

example1:

テーブルtab1の作成

DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
  tab1_id varchar(11)
);

テーブルtab2の作成

DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
  tab2_id varchar(11)
);

トリガーの作成:

t_afterinsert_on_tab1

機能: タブを追加した後、自動的にtab2にレコードを追加します1 テーブル レコード

テーブル内に

テストしてください

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1 
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
   insert into tab2(tab2_id) values(new.tab1_id);
END;
結果を見てください

INSERT INTO tab1(tab1_id) values('0001');

example2:

トリガーの作成: t_afterdelete_on_tab1

機能: tab1 テーブルのレコードを削除すると、tab2 テーブルの対応するレコードが自動的に削除されます

SELECT * FROM tab1;
SELECT * FROM tab2;
テストしてください

DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
   delete from tab2 where tab2_id=old.tab1_id;
END;

結果を見てください

DELETE FROM tab1 WHERE tab1_id='0001';

以上がMySQLトリガーの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。