怎么创建和使用mysql触发器
短信预约 -IT技能 免费直播动态提醒
这篇文章主要讲解了怎么创建和使用mysql触发器,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
什么是触发器
- 触发器用来在某些操作之后/之前,“自动”执行一些操作。(比如插入了新的学生信息,那么在班级表中应该修改学生数)。
- 当insert delete update设置触发器之后,执行insert delete update操作就会自动触发设置的内容。
- 一张表最大能有6个触发器(3*2,三种操作*两种时间(before|after))。
创建触发器
语法:
create trigger 触发器名 before|after 事件 on 表名 for each row 触发器语句;
- 触发器名建议为trigger_xxx,这样便于区分,触发器名不能重复。
- before|after 代表触发器语句执行时间,如果是before,就是在insert delete update操作之前执行触发器语句;after就是之后。
- 事件就是insert delete update操作中的一个。
- for each row 是代表任何记录执行对应操作都会触发器。
- 触发器语句就是触发器触发时要执行的语句。
MySQL创建语法中的关键词解释:
字段 | 含义 | 可能的值 |
---|---|---|
DEFINER= | 可选参数,指定创建者,默认为当前登录用户(CURRENT_USER); 该触发器将以此参数指定的用户执行,所以需要考虑权限问题; | DEFINER='root@%' DEFINER=CURRENT_USER |
trigger_name | 触发器名称,最好由表名+触发事件关键词+触发时间关键词组成; | |
trigger_time | 触发时间,在某个事件之前还是之后; | BEFORE、AFTER |
trigger_event | 触发事件,如插入时触发、删除时触发; INSERT:插入操作触发器,INSERT、LOAD DATA、REPLACE时触发; UPDATE:更新操作触发器,UPDATE操作时触发; DELETE:删除操作触发器,DELETE、REPLACE操作时触发; | INSERT、UPDATE、DELETE |
table_name | 触发操作时间的表名; | |
trigger_order | 可选参数,如果定义了多个具有相同触发事件和触法时间的触发器时( 如:BEFORE UPDATE),默认触发顺序与触发器的创建顺序一致,可以 使用此参数来改变它们触发顺序。mysql 5.7.2起开始支持此参数。 FOLLOWS:当前创建触发器在现有触发器之后激活; PRECEDES:当前创建触发器在现有触发器之前激活; | FOLLOWS、PRECEDES |
trigger_body | 触发执行的SQL语句内容,一般以begin开头,end结尾 | begin .. end |
Mysql触发器用法举例:
1、MySQL触发器Insert触发更新同一张表:
下面我们有一个表“tmp1”,tmp1表有两个整型字段:n1、n2。我们要通过触发器实现,在tmp插入记录时,自动将n2字段的值设置为n1字段的5倍。
创建测试表和触发器:
-- 创建测试表
drop table if exists tmp1;
create table tmp1 (n1 int, n2 int);
-- 创建触发器
DELIMITER $
drop trigger if exists tmp1_insert$
create trigger tmp1_insert
before insert on tmp1
for each row
begin
set new.n2 = new.n1*5;
end$
DELIMITER ;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
怎么创建和使用mysql触发器
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
2024-04-02
mysql触发器怎么创建
在 mysql 中创建触发器步骤:定义触发器:before/after 操作动作 on 指定表 for each row。指定触发器体:包含 sql 语句或 pl/sql 代码,可执行插入/更新/删除操作、发送通知、设置变量或使用条件。创建
2024-05-30
2024-04-02
在MySQL中如何创建和使用触发器
在MySQL中,可以使用CREATE TRIGGER语句来创建一个触发器。触发器可以在特定的表上执行相关的操作,例如在插入、更新或删除记录时触发某些动作。下面是一个例子,演示如何创建一个在插入记录时触发的触发器:CREATE TRIGG
2024-04-09
2024-04-02
2023-09-17
2024-04-02
2024-04-02
MySQL数据库触发器怎么创建
创建MySQL数据库触发器的语法如下:CREATE TRIGGER trigger_name{BEFORE | AFTER} {INSERT | UPDATE | DELETE}ON table_nameFOR EACH ROWt
2023-10-26
2024-04-02
PostgreSQL怎么创建触发器
小编给大家分享一下PostgreSQL怎么创建触发器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在PostgreSQL数据库中,触发器可以作用在表或者视图上。想
2023-06-14
oracle怎么创建触发器
oracle 中的触发器是特定事件发生时自动执行的 sql 代码,用于数据操作语言 (dml) 操作(如插入、更新或删除)。创建触发器的语法为:create trigger [触发器名称] before/after [触发事件] on [表
2024-05-30
sqlserver触发器怎么创建
要创建一个SQL Server触发器,可以遵循以下步骤:打开SQL Server管理工具,连接到目标数据库。在数据库中找到需要创建触发器的表。右键点击该表,选择“新建触发器”选项。在弹出的对话框中,输入触发器的名称。在“触发器的类型
2024-02-29
2024-04-02
2024-04-02
mysql 触发器创建与使用方法示例
本文实例讲述了mysql 触发器创建与使用方法。分享给大家供大家参考,具体如下:
什么是触发器 触发器用来在某些操作之后/之前,“自动”执行一些操作。(比如插入了新的学生信息,那么在班级表中应该修改学生数)。当insert delete u
2022-05-16
2024-04-02
SQL SERVER触发器怎么创建
本篇内容主要讲解“SQL SERVER触发器怎么创建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL SERVER触发器怎么创建”吧!触发器是一种特殊的存储过程,触发器主要是通过事件进行触发
2023-06-29
mysql创建触发器的语法
mysql 触发器的语法:create trigger [触发器名]before/after [insert/update/delete] on [表名]for each row[触发器主体]MySQL 触发器的语法触发器是一种数据库对象
2024-08-01