三十八、触发器实战

简介: 三十八、触发器实战

一、什么是触发器

触发器(trigger)用于监视某种情况并触发某种操作,它是与表时间相关的特殊存储过程。它的执行不是由程序调用,而是由事件来触发的。它只会在对某张表进行 insert、delete 和 update 操作时执行。语法如下:

create trigger trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_stmt

参数:


  1. trigger_name:触发器名称;
  2. trigger_time:触发时间,取值:before、after;
  3. trigger_event:触发事件,取值:insert、update、delete;
  4. table_name:触发器监控的表;
  5. trigger_stmt:触发执行的语句,使用 OLD、NEW 来引用变化前后的记录。NEW.columnName:获取 insert 触发事件中新插入的数据;

OLD.columnName:获取 update 和 delete 触发事件中被更新、删除的数据。

二、触发器实战

1.创建用户表和发件箱表:

create table users(
    id int not null auto_increment  primary key,
    name varchar(30),
    email varchar(30)
);
create table emails(
     id int not null auto_increment  primary key,
     email varchar(30),
     content text.
     send_datetime datetime
);

2. 编写触发器,在新增新用户的时候向发件箱插入一条邮件:

delimiter //
create trigger add_email after insert on users for each row
begin
    insert into emails(email,content,send_datetime) values (NEW.email,'hello' ,now());
end
//
delimiter ;
目录
相关文章
|
2月前
|
存储 关系型数据库 MySQL
MySQL触发器实战:自动执行的秘密
MySQL触发器实战:自动执行的秘密
54 3
|
Serverless
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(三)
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(三)
257 0
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(三)
|
JavaScript Serverless
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(二)
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(二)
240 0
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(二)
|
Serverless 文件存储 数据库
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(一)
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(一)
258 0
我的 Serverless 实战 — 云函数与触发器的创建与使用 ( 开通腾讯云 “ 云开发 “ 服务 | 创建云函数 | 创建触发器 | 测试触发器 )(一)
|
2月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
2月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
18天前
|
存储 SQL 关系型数据库
(十四)全解MySQL之各方位事无巨细的剖析存储过程与触发器!
前面的MySQL系列章节中,一直在反复讲述MySQL一些偏理论、底层的知识,很少有涉及到实用技巧的分享,而在本章中则会阐述MySQL一个特别实用的功能,即MySQL的存储过程和触发器。
|
29天前
|
存储 SQL 数据库
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数
MySQL设计规约问题之为什么要避免使用存储过程、触发器和函数

热门文章

最新文章