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 ;