16.トリガー

1.はじめに
トリガーは、特定の状況を監視し、特定の操作をトリガーするために使用されます。これは、テーブルイベントに関連する特別なストアドプロシージャです。その実行はプログラムによって呼び出されるのではなく、イベントによってトリガーされます。たとえば、テーブルに対する挿入、削除、更新操作が実行をトリガーします。

2.文法

create trigger triggerName triggerTime triggerEvent 
on tableName for each row triggerStmt
  • triggerName:トリガー名
  • triggerTime:トリガー時間、値は前後です
  • triggerEvent:トリガーイベント、値は挿入、更新、削除です
  • tableName:トリガーによって監視されるテーブルの名前
  • triggerStmt:ステートメントの実行をトリガーします。古いものと新しいものを使用して、変更の前後のレコードコンテンツを参照できます。
  • new.columnName:挿入トリガーイベントで新しく挿入されたデータを取得します
  • old.columnName:更新および削除トリガーイベントで更新および削除されたデータを取得します

3.戦闘のトリガー:新しいユーザーにメールを送信します

create table user_info(
   id int not null auto_increment primary key, 
   name varchar(30),
   email varchar(50)
);

insert into user_info(id, name, email) values(1, '柳峰', '[email protected]'); 
insert into user_info(id, name, email) values(2, '林涛','[email protected]');

create table email_info(
   id int not null auto_increment primary key, 
   email varchar(50),
   content text,
   send_time datetime
);

新しいユーザーが挿入されると、電子メールが自動的にユーザーに送信されます。

delimiter //
create trigger send_email_trigger after insert on user_info for each row begin
   insert into email_info(email, content, send_time) values(new.email, '欢迎加入MySQL阵营! ', now()); 
end
// 
delimiter ;

おすすめ

転載: blog.csdn.net/Jgx1214/article/details/107496217