加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL触发器如何创建

发布时间:2023-12-31 21:41:47 所属栏目:MySql教程 来源:DaWei
导读: 这篇文章主要介绍“MySQL触发器如何创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL触发器如何创建”文章能帮助
这篇文章主要介绍“MySQL触发器如何创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL触发器如何创建”文章能帮助大家解决问题。

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

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

3.触发器的创建

触发器是作用在表上的,比如说我们希望表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:表示触发的事件。
INSERT 表示插入记录时触发;
UPDATE 表示更新记录时触发;
DELETE 表示删除记录时触发。
触发器执行的语句块:可以是单条SQL语句,也可以是由BEGIN…END结构组成的复合语句块。

 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章