完全掌握MySQL触发器

本篇文章给大家带来了关于mysql的相关知识,其中主要整理了触发器的相关问题,包括了为什么需要触发器、触发器的概述、触发器的创建等等内容,下面一起来看一下,希望对大家有帮助。

完全掌握MySQL触发器

推荐学习:mysql视频教程

1.为什么需要触发器

有一些表是互相关联的,比如说商品表和库存表,我们对商品表的数据进行操作,那么对应的库存表还得发生变化,这样才可以保证数据的完整。如果我们是自己手动维护的话,比较麻烦。
这个时候我们可以使用触发器,创建一个触发器,让商品信息数据的插入操作自动触发库存数据的插入操作等,这样我们就不需要担心因为忘记添加库存数据而导致数据丢失了。

2.触发器概述

MySQL是从5.0.2版本开始支持触发器的MySQL的触发器和存储过程一样都是嵌入到MySQL服务器的一段程序触发器是由某一个事件来触发某个操作,这些事件包括insert,delete,update事件若定义了触发程序,那么数据库执行这些语句的时候,就相当于事件发生,会自动激发触发器执行相应的操作如果对数据库中的表的数据进行插入等操作的时候,需要自动执行一些数据库逻辑的时候,我们可以用触发器来实现。

3.触发器的创建

3.1语法

触发器是作用在表上的,比如说我们希望表A新增一条记录的时候就触发 触发器的执行,而且还要选择触发器是在insert语句执行之前执行触发器还是之后。

for each row表明,每执行一次事件(insert,update或delete)就会触发一次触发器

CREATE TRIGGER 触发器名称 {BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 表名 FOR EACH ROW 触发器执行的语句块;

说明:

表名:表示触发器监控的对象。

BEFORE|AFTER:表示触发的时间。BEFORE 表示在事件之前触发;AFTER 表示在事件之后触发。

INSERT|UPDATE|DELETE:表示触发的事件。

NameGPT名称生成器 NameGPT名称生成器

免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。

NameGPT名称生成器 0 查看详情 NameGPT名称生成器 INSERT 表示插入记录时触发;UPDATE 表示更新记录时触发;DELETE 表示删除记录时触发。

触发器执行的语句块:可以是单条SQL语句,也可以是由BEGIN…END结构组成的复合语句块。

3.2 案例演示

先准备表

CREATE TABLE test_trigger (id INT PRIMARY KEY AUTO_INCREMENT,t_note VARCHAR(30));CREATE TABLE test_trigger_log (id INT PRIMARY KEY AUTO_INCREMENT,t_log VARCHAR(30));

要求:创建触发器:创建名称为before_insert的触发器,向test_trigger数据表插入数据之前,向test_trigger_log数据表中插入before_insert的日志信息。
在这里插入图片描述
在这里插入图片描述

4.查看触发器

查看触发器是查看数据库中已经存在的触发器的定义,状态和语法信息等方式一:查看当前数据库的所有触发器的定义

show triggersG 注意,在SQLyog中,不能加上G

在这里插入图片描述

方式二:查看当前数据库中某一个触发器的定义

show create trigger 触发器名

在这里插入图片描述

方式三:从系统库information_schema的TRIGGERS表中查询“salary_check_trigger”触发器的信息

SELECT * FROM information_schema.TRIGGERS;

5.删除触发器

触发器也是数据库对象,触发器也是用drop语句来删除

drop trigger if exists 触发器名;

推荐学习:mysql视频教程

以上就是完全掌握MySQL触发器的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/280211.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
调整wps怎么删除空白页的页面边距_通过wps怎么删除空白页优化边距设置
上一篇 2026年10月17日 18:21:07
如何用CSS操作数据树形菜单—checkbox递归控制
下一篇 2025年12月2日 12:06:53

相关推荐

  • linux中mysql的1045错误怎么解决

    linux中mysql的1045错误怎么解决linux中mysql的1045错误怎么解决linux中mysql的1045错误怎么解决linux中mysql的1045错误怎么解决

    解决方法:1、登录数据库之后,利用“select host,user from user;”语句查询用户和权限;2、利用“grant select,update,insert,delete on mas.* to 新建用户@localhost identified by “密码&#822…

    2026年10月17日 • 用户投稿
    000
  • Java连接数据库慢,服务器报错08S01,Navicat却秒进是什么原因?

    Java连接数据库慢,服务器报错08S01,Navicat却秒进是什么原因?Java连接数据库慢,服务器报错08S01,Navicat却秒进是什么原因?Java连接数据库慢,服务器报错08S01,Navicat却秒进是什么原因?Java连接数据库慢,服务器报错08S01,Navicat却秒进是什么原因?

    Java程序连接数据库缓慢,服务器报错08S01,但Navicat连接速度飞快? 近期,部分用户反馈Java应用程序连接数据库速度奇慢,服务器同时抛出errorCode 0, state 08S01错误。然而,使用Navicat却能瞬间连接成功,这究竟是什么原因呢? 针对此问题,建议您依次排查以下几…

    2026年10月17日 • 用户投稿
    100
  • mysql在linux中的2003错误怎么解决

    mysql在linux中的2003错误怎么解决mysql在linux中的2003错误怎么解决mysql在linux中的2003错误怎么解决mysql在linux中的2003错误怎么解决

    解决方法:1、修改“my.cnf”文件,在“bind-address = 127.0.0.1”的前面添加“#”将其注释掉;2、在文件中添加“skip-external-lockingskip-name-resolve”;3、利用“service mysql restart”重新启动mysql服务即可…

    2026年10月17日 • 用户投稿
    100
  • 完全掌握MySQL主从延迟的解决方法

    完全掌握MySQL主从延迟的解决方法完全掌握MySQL主从延迟的解决方法完全掌握MySQL主从延迟的解决方法完全掌握MySQL主从延迟的解决方法

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了主从延迟的解决方法相关问题,包括了什么是主从延迟、主从延迟的来源、主从延迟的解决方案等等内容,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 之前项目中基于 MySQL 主从复制以及 AOP 的方式实现了读写分离,也写了…

    2026年10月17日 • 用户投稿
    200
  • MySQL学习之一条SQL是如何执行的?聊聊执行流程

    MySQL学习之一条SQL是如何执行的?聊聊执行流程MySQL学习之一条SQL是如何执行的?聊聊执行流程MySQL学习之一条SQL是如何执行的?聊聊执行流程MySQL学习之一条SQL是如何执行的?聊聊执行流程

    一条sql在mysql中是如何执行的?下面本篇文章就来给大家聊聊一条sql的执行流程,希望对大家有所帮助! 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置…

    2026年10月17日 • 用户投稿
    700
  • 如何用Swoole构建高性能HTTP服务器?

    如何用Swoole构建高性能HTTP服务器?如何用Swoole构建高性能HTTP服务器?如何用Swoole构建高性能HTTP服务器?如何用Swoole构建高性能HTTP服务器?

    使用swoole构建高性能http服务器的步骤包括:1)创建基本服务器并监听端口;2)利用异步特性处理并发连接;3)使用协程进行异步数据库查询;4)优化服务器配置,如设置worker_num;5)启用热重载功能以便开发和维护。通过这些步骤和合理配置,swoole能显著提升服务器性能和稳定性。 构建一…

    2026年10月17日 • 用户投稿
    100
  • MySQL外键约束知识点总结

    MySQL外键约束知识点总结MySQL外键约束知识点总结MySQL外键约束知识点总结MySQL外键约束知识点总结

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了外键约束的相关问题,外键约束(foreign key)即数据库中两个数据表之间的某个列建立的一种联系,这种联系通常是以实际场景中含义完全相同的字段所造成的,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 一、MySQL外…

    2026年10月17日 • 用户投稿
    200
  • 实例详解MySQL数据库视图

    实例详解MySQL数据库视图实例详解MySQL数据库视图实例详解MySQL数据库视图实例详解MySQL数据库视图

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了数据库视图的相关问题,包括了视图的介绍与作用、视图的创建、视图的修改、视图的更新、视图的重命名与删除、视图的练习等等内容,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 1 视图的介绍与作用 视图的介绍: 视图 view…

    2026年10月17日 • 用户投稿
    200
  • MySQL中的流式查询及游标查询方式(总结分享)

    MySQL中的流式查询及游标查询方式(总结分享)MySQL中的流式查询及游标查询方式(总结分享)MySQL中的流式查询及游标查询方式(总结分享)MySQL中的流式查询及游标查询方式(总结分享)

    本篇文章给大家带来了关于mysql的相关知识,主要介绍了mysql中的流式查询及游标查询方式,具有很好的参考价值,希望对大家有所帮助。 推荐学习:mysql视频教程 一、业务场景 现在业务系统需要从 MySQL 数据库里读取 500w 数据行进行处理 迁移数据导出数据批量处理数据 二、罗列一下三种处…

    2026年10月17日 • 用户投稿
    300
  • 归纳整理MySQL存储过程参数的用法及说明

    归纳整理MySQL存储过程参数的用法及说明归纳整理MySQL存储过程参数的用法及说明归纳整理MySQL存储过程参数的用法及说明归纳整理MySQL存储过程参数的用法及说明

    本篇文章给大家带来了关于mysql的相关知识,主要介绍了mysql存储过程参数的用法及说明,mysql存储过程的参数共有三种:in、out 、inout,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 MySQL存储过程的参数 MySQL存储过程的参数共有三种: INOUT IN…

    2026年10月17日 • 用户投稿
    200
  • MySQL中的日期时间类型与格式化方式总结

    MySQL中的日期时间类型与格式化方式总结MySQL中的日期时间类型与格式化方式总结MySQL中的日期时间类型与格式化方式总结MySQL中的日期时间类型与格式化方式总结

    本篇文章给大家带来了关于mysql的相关知识,主要介绍了mysql中的日期时间类型与格式化方式,mysql中常用的几种时间类型有:date、datetime、time、year、timestamp,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 【1】MySQL中的日期时间类型 …

    2026年10月17日 • 用户投稿
    200
  • MySQL分表后如何高效解决排序分页查询难题?

    MySQL分表后如何高效解决排序分页查询难题?MySQL分表后如何高效解决排序分页查询难题?MySQL分表后如何高效解决排序分页查询难题?MySQL分表后如何高效解决排序分页查询难题?

    MySQL分表后的排序分页查询挑战 数据库分表虽然提升了性能,却给排序分页查询带来了新的难题。本文探讨两种常用方法及其局限性。 方法一:全表查询,内存排序 此方法需查询所有分表的前N*页数条数据,进行内存排序后返回指定页的数据。虽然支持跳页,但随着页数增加,查询效率和内存消耗将急剧增长,成为性能瓶颈…

    2026年10月17日 • 用户投稿
    100
  • MySQL数据库线上修改表结构的方法

    MySQL数据库线上修改表结构的方法MySQL数据库线上修改表结构的方法MySQL数据库线上修改表结构的方法MySQL数据库线上修改表结构的方法

    本篇文章给大家带来了关于mysql的相关知识,MySQL有一个把锁,叫做MDL元数据锁,当对表修改的时候,会自动给表加上这把锁,也就是不需要自己显式使用,下面介绍一下MySQL数据库线上修改表结构的方法,希望对大家有帮助。 推荐学习:mysql视频教程 一、MDL元数据锁 在修改表结构之前,先来看下…

    2026年10月17日 • 用户投稿
    200
  • 实例详解MySQL索引最左匹配原则

    实例详解MySQL索引最左匹配原则实例详解MySQL索引最左匹配原则实例详解MySQL索引最左匹配原则实例详解MySQL索引最左匹配原则

    本篇文章给大家带来了关于mysql的相关知识,最左匹配原则就是指在联合索引中,如果你的SQL语句中用到了联合索引中的最左边的索引,那么这条SQL语句就可以利用这个联合索引去进行匹配,下面介绍了关于MySQL索引最左匹配原则的相关资料,希望对大家有帮助。 推荐学习:mysql视频教程 准备 为了方面后…

    2026年10月17日 • 用户投稿
    200
  • 数据库慢查询监控与优化

    数据库慢查询监控与优化数据库慢查询监控与优化数据库慢查询监控与优化数据库慢查询监控与优化

    慢查询可以通过监控和优化来提高数据库性能。1.监控方法包括使用慢查询日志和第三方工具,关注响应时间、执行计划和资源消耗。2.优化策略涉及重构查询、调整索引、分区表和使用缓存。持续监控和定期优化是关键。 你问到数据库慢查询监控与优化,这是个非常重要的主题,特别是在处理大规模数据应用时。慢查询不仅会影响…

    2026年10月17日 • 用户投稿
    300
  • MySQL乐观锁和悲观锁具体实现

    MySQL乐观锁和悲观锁具体实现MySQL乐观锁和悲观锁具体实现MySQL乐观锁和悲观锁具体实现MySQL乐观锁和悲观锁具体实现

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了MySQL乐观锁和悲观锁具体实现,文章围绕主题展开详细的内容介绍,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 对于MySQL中的乐观锁和悲观锁,可能很多的开发者还不是很熟悉,并不知道其中具体是如何实现的。本文就针对这…

    2026年10月17日 • 用户投稿
    2100
  • Linux如何安全配置Mysql数据库

    Linux如何安全配置Mysql数据库Linux如何安全配置Mysql数据库Linux如何安全配置Mysql数据库Linux如何安全配置Mysql数据库

    本篇文章给大家带来的内容是介绍在linux中如何安全配置mysql数据库,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 目录: 1.修改mysql管理员账号root的密码(2种方法) 2.修改mysql管理员账号root 3.mysql管理员root账号密码遗忘解决办法(2种方法)…

    2026年10月17日 • 用户投稿
    100
  • 聊聊GitHub是怎么做好 MySQL 高可用性的

    聊聊GitHub是怎么做好 MySQL 高可用性的聊聊GitHub是怎么做好 MySQL 高可用性的聊聊GitHub是怎么做好 MySQL 高可用性的聊聊GitHub是怎么做好 MySQL 高可用性的

    github是怎么做好 mysql 高可用性的?下面本篇文章就来带大家分享一下,希望对大家有所帮助。 Github 使用 MySQL 数据库作为所有非 git 事务的数据存储。数据库的可用性对 Github 的正常运行而言至关重要。无论是 Github 网站本身,还是 Github API,身份验证…

    2026年10月17日 • 用户投稿
    100
  • MySQL中关于datetime、date、time、str之间的转化与比较

    MySQL中关于datetime、date、time、str之间的转化与比较MySQL中关于datetime、date、time、str之间的转化与比较MySQL中关于datetime、date、time、str之间的转化与比较MySQL中关于datetime、date、time、str之间的转化与比较

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于datatime、data、time、str之间的转化与比较的相关问题,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 datetime、date、time、str之间的转化与比较 SELECT NOW(),CURD…

    2026年10月17日 • 用户投稿
    100
  • 一文搞懂MySQL索引下推

    一文搞懂MySQL索引下推一文搞懂MySQL索引下推一文搞懂MySQL索引下推一文搞懂MySQL索引下推

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引下推的相关内容,索引条件下推也叫索引下推,英文全称index condition pushdown,简称icp,用于优化数据查询,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 SELECT 语句执行过程 MyS…

    2026年10月17日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信