我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql触发器(trigger)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql触发器(trigger)

触发器的作用

监听数据的变化,以实现当数据变化时的关联操作,不过感觉没有实际作用,触发器的功能如果用代码逻辑来控制感觉会更正规些,毕竟团队中的其它人不一定会看到你定义的触发器,但一定能看到你的代码。那为何还要学习触发器,有些知识不是为自己学的,你不用,你不敢保证别人不用。如果别人用了,我们对此一无所知,那么会给程序的维护带来很大的困难。

触发器的定义

格式:create trigger 触发器名称 事件 on 表名 执行代码

事件:

  • 插入 insert
  • 删除 delete
  • 修改 update

时机:

  • 前 before
  • 后 after

事件与时机组合共有六种情况

  • before insert
  • after insert
  • before delete
  • after delete
  • before update
  • after update

创建语法

delimeter $ // 修改语句结束符,避免和定义trigger中的语句冲突

create trigger triggerName
after/before insert/update/delete on 表名
for each row // 这一行是固定的
begin
sql语句 // 一条或多条sql语句,一条sql语句也可省略begin 和 end
end;

delimeter ; // 改回正常的结束符

new / old

如果在trigger内部需要使用触发trigger那行记录中的值,那么new代表新行,old代表旧行。也就是说 old / new 分别代表事件发生 前 / 后该行记录。是一整行,而不是某个字段。

*注意: insert 操作没有old,delete 操作没有new

触发器的管理

删除

drop trigger trigger_name

查看所有触发器

show triggers;

示例

假设我们有一张班级表

id class_name num
1 001 1
2 002 1
3 003 0

还有一张学生表

id name class_id
1 xiaohong 1
2 xiaogang 2

我们定义一个触发器,每当增加一名学生,对应班级表中的学生数量num就加一。

delimiter $$
create trigger zhaosheng after insert on student 
for each row
begin
update class set num=num+1 where id=new.class_id;
end;
$$
delimiter ;

看效果:
mysql触发器(trigger)

当增加一个学生zhangsan后,calss表中对应的id为3的num自动增加1。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql触发器(trigger)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据库 触发器 trigger

目录一、基本概念1、作用2、触发器的优缺点2.1、优点2.2、缺点二、创建触发器1、基本语法2、触发对象3、触发时机4、触发事件5、注意事项三、查看触发器四、触发触发器五、删除触发器六、触发器的应用1、完善2、优化一、基本概念触发器是一种
2022-06-16

触发器 trigger

触发器是被指定关联到一个表的数据对象,它不需要调用,当对一个表的特别事件出现时,它就被激活。触发器的代码也是由SQL语句组成的,因此用在存储过程中的语句也可以用再触发器的定义中。触发器是一类特殊的存储过程,与表的关系密切,用于保护表中的数据,当有操作影响到触发
触发器 trigger
2019-12-09

Sqlite—触发器(Trigger)

一、简单介绍SQLite 触发器(Trigger)是数据库的回调函数,它会在指定的数据库事件发生时自动执行/调用。以下是关于 SQLite 的触发器(Trigger)的要点:SQLite 触发器(Trigger)可以指定在特定的数据库表发生 DELETE、IN
Sqlite—触发器(Trigger)
2018-09-02

mysql触发器trigger 实例详解

https://www.cnblogs.com/phpper/p/7587031.htmlMySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧:什么是触发器触发器是与表有关的数据库对象,在满足定义条件时
mysql触发器trigger 实例详解
2018-01-18

mysql触发器trigger实例详解

MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧: 什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在
2022-05-22

详细解读MySQL的触发器trigger

触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当数据库执行这些语句的时候就会激发触发器执行相应的操作,需要的朋友可以参考下
2023-05-19

mysql触发器trigger的使用案例

这篇文章主要介绍了mysql触发器trigger的使用案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是触发器触发器是与表有关的数据库对象,在满足定义条件时触发,并执行
2023-06-14

MySQL的触发器trigger怎么使用

MySQL的触发器(trigger)可以在特定的数据库操作发生时自动执行一系列的SQL语句。触发器可以在插入、更新或删除数据时触发执行,可以用于实现数据的验证、复制或自动化处理等功能。以下是MySQL中触发器的使用方法:1. 创建触发器:使
2023-08-11

Oracle 触发器详解(trigger)

Oracle中的触发器是一种特殊的数据库对象,它是与表关联的一段PL/SQL代码,当特定的数据库操作发生时,触发器会自动执行这段代码。触发器可以在INSERT、UPDATE或DELETE等操作前或后触发,用于实现数据库的业务逻辑。触发器的创
2023-09-20

Oracle触发器trigger详解

Oracle触发器(Trigger)是一种特殊的数据库对象,可以在数据库中的某个事件发生时自动执行一系列的操作。触发器通常与数据库表相关联,当对表进行插入、更新或删除操作时,触发器会自动触发并执行相应的操作。触发器可以在以下几种情况下触发执
2023-08-15

MySQL数据库触发器trigger怎么使用

这篇文章主要讲解了“MySQL数据库触发器trigger怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库触发器trigger怎么使用”吧!一、基本概念触发器是一种特殊类
2023-07-02

Oracle的触发器trigger如何使用

本篇内容主要讲解“Oracle的触发器trigger如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的触发器trigger如何使用”吧!一、触发器定义Oracle触发器是使用者
2023-06-29

Oracle触发器trigger怎么使用

Oracle触发器(trigger)用于在指定的数据库操作发生时自动执行一段特定的代码,可以用于数据插入、更新或删除时执行特定的操作。以下是使用Oracle触发器的基本步骤:1. 创建一个触发器:```CREATE OR REPLACE T
2023-08-15

编程热搜

目录