トリガーは、特定のテーブルでデータを挿入、削除、または変更するときに実行をトリガーする特別なストアド プロシージャで、データベース自体の標準機能よりも洗練された複雑なデータ制御機能を備えています。
次の特徴があります:
監視場所: 通常はテーブル名
監視イベント: 更新/削除/挿入
トリガー時間: 後/前
トリガーイベント: 更新/削除/挿入
直接実行することはできません呼び出されると、データベースによってアクティブに実行されます。
例1:
テーブル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
機能: tab1テーブルのレコードを追加した後、自動的にtab2テーブルにレコードを追加します
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');
SELECT * FROM tab1; SELECT * FROM tab2;
example2:
トリガーの作成: t_afterdelete_on_tab1
機能: tab1 テーブルのレコードを削除すると、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';
SELECT * FROM tab1; SELECT * FROM tab2;
上記は、MySQL Advanced 8 - トリガーの使用の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。