MySQLトリガーの詳しい説明

怪我咯
リリース: 2017-07-05 11:16:29
オリジナル
1428 人が閲覧しました

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

MySQL トリガーの簡単な例

CREATE TRIGGER < トリガー トリガー名> --トリガーには最大 64 文字の名前を付ける必要があり、その後に区切り文字を続けることができます。これは、基本的に MySQL の他の オブジェクト

の命名方法と同様です。

-- トリガー実行時間の設定があります。イベント
の発生前または後に設定できます。

{ INSERT | UPDATE | DELETE }
-- トリガーされるイベントを設定することもできます。挿入、更新、または削除の実行中にトリガーできます。

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

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

<

トリガー SQL ステートメント> -- トリガーには、トリガーされる 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(&#39;0001&#39;);
ログイン後にコピー

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=&#39;0001&#39;;
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!