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

MYSQL触发器

发布时间:2020-12-12 03:08:30 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL触发器》要点: 本文介绍了MYSQL触发器,希望对您有用。如果有疑问,可以联系我们。 触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触颁发上的触发器的执行. 所有触发器都保留在information_sche

《MYSQL触发器》要点:
本文介绍了MYSQL触发器,希望对您有用。如果有疑问,可以联系我们。

MYSQL触发器

触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触颁发上的触发器的执行.

所有触发器都保留在information_schema.trigger表中.

创立触发器

格式:

create trigger 触发器名字

before/after

insert/update/delete/load data/replace ON 树立触发器的表

FOR EACH ROW

触发器法式体

例子

假设体系中有两个表:

班级表 class(班级号 classID,班内学生数 stu_num)

学生表 student(学号 stuID,所属班级号 classID)

要创立触发器来使班级表中的班内学生数随着学生的添加自动更新

DELIMITER $

create trigger tri_stu_Insert after insert

on student for each row

begin

declare c int;

set num = (select stu_num from class where classID=new.classID);

update class set stu_num = num + 1 where classID = new.classID;

end$

DELIMITER ;

new与old关键字解析

在 INSERT 型触发器中,NEW 用来表现将要(BEFORE)或已经(AFTER)插入的新数据;

在 UPDATE 型触发器中,OLD 用来表现将要或已经被修改的原数据,NEW 用来表现将要或已经修改为的新数据;

在 DELETE 型触发器中,OLD 用来表现将要或已经被删除的原数据;

show trigger [from DBname] 查看触发器

drop trigger [if exists][DBname.] trigger_name删除了触发器

欢迎参与《MYSQL触发器》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

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

    推荐文章
      热点阅读