专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

mysql触发器怎么用,mysql触发器作用及使用案例

来源:小嗨整编  作者:小嗨  发布时间:2023-03-22 12:05
摘要:mysql触发器怎么用,mysql触发器作用及使用案例1.什么是触发器 触发器(trigger):监视某种情况,并进行某种操作,它的执行并不是程序调用,也不是手工启动,而是由事件来触发,例如:对一张表进行操作(插入,更新,删除)时,就会触...

 mysql触发器怎么用,mysql触发器作用及使用案例

1.什么是触发器    

触发器(trigger):监视某种情况,并进行某种操作,它的执行并不是程序调用,也不是手工启动,而是由事件来触发,例如:对一张表进行操作(插入,更新,删除)时,就会触发执行事先编辑好的若干条SQL语句。

2.触发器的特点与作用

触发器里面的sql语句是一个事务,具有原子性,要么全部执行,要么全部不执行。

3.触发器的创建

使用navicat工具,右键点击表>设计表>触发器>添加触发器;

在这里设置触发时机,和sql语句

sql语句写在 BEGIN 和 END中间

mysql触发器怎么用,mysql触发器作用及使用案例

4.NEW和OLD的使用

MySQL中定义了NEW 和OLD 两个临时表,用来表示触发器的所在表中,触发了触发器的哪一行数据,用来引用触发器中发生变化的记录内容

1.在 inster 触发器中,NEW 用来拦截并保存将要(before)或者已经(after) 插入的数据

2.在 update 触发器中,OLD用来拦截并保存将要或已经修改的原数据,NEW用来拦截并保存将要或已经修改的为新的数据

3.在delete 触发器中,OLD用来拦截并保存将要或或者已经被删除的原数据

5.使用案例

例如:我们用一张班级表,一张学生表

场景一:我们往学生表增加成员时,触发给对应的班级表人数+1

创建班级表:

mysql触发器怎么用,mysql触发器作用及使用案例

学生表:

mysql触发器怎么用,mysql触发器作用及使用案例

学生表通过classID字段关联班级表

编写触发器:

右键student表>设计表>触发器

然后设置触发规则,我们设置在插入之后,即学生人数增加之后给对应班级人数+1

mysql触发器怎么用,mysql触发器作用及使用案例

更新条件为:班级id 等于 插入后数据classID字段的值

BEGINupdate class set number = number+1 where id = NEW.classID;END

此时我们创建一个班级,人数为0

mysql触发器怎么用,mysql触发器作用及使用案例

然后在学生表添加一个学生,所在班级为1001

mysql触发器怎么用,mysql触发器作用及使用案例

然后我们再返回class班级表,刷新一下数据,会发现此时的班级人数为1

mysql触发器怎么用,mysql触发器作用及使用案例

场景二:如果学生姓名叫做 小魔仙,则不允许插入

创建触发器,选择数据插入之前触发该事件,如果插入数据studentName字段值等于 小魔仙 ,则提示请正确输入您的姓名;

mysql触发器怎么用,mysql触发器作用及使用案例

BEGINIF (NEW.studentName = '小魔仙') THENSIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '请正确输入您的姓名';END IF;END

然后再次插入数据就会显示该提示信息,并不运行插入

mysql触发器怎么用,mysql触发器作用及使用案例



本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/935785.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • mysql安装教程图解(mysql安装教程最新)

    mysql安装教程图解(mysql安装教程最新)

    mysql安装教程图解(mysql安装教程最新)MySQL是当前最流行的关系型数据库管理系统之一,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软...

  • mysql中的不等于符号是什么

    mysql中的不等于符号是什么

    mysql中的不等于符号有两种:“!=”和“”;它们都可用于判断数字、字符串、表达式是否不相等。对于“!=”和“”,如果两侧操作数不相等,返回值为1,否则返回值为0;如果两侧操作数有一个是null,那么返回值也是null。本教程操作环境:w...

  • mysql列转行函数是什么

    mysql列转行函数是什么

    在mysql中,列转行函数是“group_concat()”函数;该函数用于将非空列值按照分组条件进行合并并最终返回,如果其中有空值则返回的结果是空,语法为“selectgroup_concat(name separator';')列...

  • MySQL连接被重置,如何处理?

    MySQL连接被重置,如何处理?

    mysql连接被重置,如何处理?MySQL是一种常用的关系型数据库管理系统,广泛应用于各种不同规模的项目中。然而,在使用MySQL时,有时会遇到连接被重置的情况,这可能会给我们的项目带来一些麻烦。本文将介绍MySQL连接被重置的原因以及如何...

  • mysql环境变量如何配置

    mysql环境变量如何配置

    mysql环境变量的配置方法:1、找到c盘中的mysql安装路径;2、在“我的电脑"中,依次点击“系统属性”-“高级系统设置”选项;3、在“环境变量”弹窗中,依次点击“高级”-“系统变量”;4、找到path路径,点击“编辑”选项,......

  • mysql查询怎么设置降序

    mysql查询怎么设置降序

    在mysql中,可以利用desc关键字对查询结果进行降序显示,该关键字是descend的缩写,常于orderby子句配合使查询结果降序,语法为“select字段1,字段2...from表名orderby指定字段desc”。本...

  • 一文搞懂MySQL索引下推

    一文搞懂MySQL索引下推

    本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引下推的相关内容,索引条件下推也叫索引下推,英文全称indexconditionpushdown,简称icp,用于优化数据查询,下面一起来看一下,希望对大家有帮助。推荐学...

  • 创建存储过程 mysql

    创建存储过程 mysql

    mysql是一款流行的开源关系数据库管理系统,在处理大量数据时表现出色。存储过程是一种可重复使用的代码块,它们可以与数据表交互,并可以在查询中调用。本文将介绍如何创建存储过程,以及如何在MySQL中调用和使用它们。一、创建存储过程在...

  • 周排行
  • 月排行
  • 年排行

精彩推荐