ホームページ >データベース >mysql チュートリアル >MySQLトリガーの詳しい説明
この記事では主に MySQL トリガー の詳細な説明と簡単な例を紹介します
MySQL トリガーの簡単な例
CREATE TRIGGER 6cf41c38271d577a91efb01c7ef7fdb1 -- トリガーは特定のテーブルに属します。このテーブルで挿入、更新、または 削除
操作が実行されると、同じスケジュールを 2 つ与えることはできません。テーブル内の同じイベントのトリガー。
FOR EACH ROW --トリガーの実行間隔: FOR EACH ROW 句は、テーブル全体に対して 1 回ではなく、1 行おきにアクションを実行するようにトリガーに通知します。
-- トリガーを作成するには (CREATE TRIGGER)、かなりの権限が必要です。すでに Root ユーザーであれば、それで十分です。これは SQL 標準とは異なります。 インスタンス
example1:テーブルtab1の作成
DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );
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 サイトの他の関連記事を参照してください。