16. Trigger

1. Introduction
Trigger (trigger) is used to monitor a certain situation and trigger a certain operation. It is a special stored procedure related to a table event. Its execution is not called by a program, but triggered by an event. For example, when insert, delete, update operations on a table will trigger its execution.

2. Grammar

create trigger triggerName triggerTime triggerEvent 
on tableName for each row triggerStmt
  • triggerName: trigger name
  • triggerTime: Trigger time, the values ​​are before and after
  • triggerEvent: trigger event, the values ​​are insert, update, delete
  • tableName: the name of the table monitored by the trigger
  • triggerStmt: Trigger the execution of the statement, you can use old, new to refer to the record content before and after the change
  • new.columnName: Get the newly inserted data in the insert trigger event
  • old.columnName: Get the updated and deleted data in the update and delete trigger events

3. Trigger combat: send emails to new users

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
);

When a new user is inserted, an email is automatically sent to the user.

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 ;

Guess you like

Origin blog.csdn.net/Jgx1214/article/details/107496217