资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

MariaDB中触发器的使用方法

本篇内容主要讲解“MariaDB中触发器的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MariaDB中触发器的使用方法”吧!

为江口等地区用户提供了全套网页设计制作服务,及江口网站建设行业解决方案。主营业务为网站制作、成都网站制作、江口网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

触发器(Trigger)是由事件来触发某个操作,这些事情包括INSERT 语句‘UPDATE语句和DELETE语句。当数据库执行这些事件时就会激活触发器来执行响应的操作。

1、在MariaDB 中创建只有一个执行语句的触发器的基本形式为:

CREATE   TRIGGER 触发器名  BEFORE|AFTER  触发事件  ON 表名 FOR EACH ROW 执行语句

其中,触发器名参数指要创建的触发器的名字:BEFORE和AFTER参数指定了触发器执行的时间,BEFORE指在触发器事件之前执行触发语句,AFTER表示在触发器事件之后执行触发器语句。触发事件包括:INSERT、UPDATE、DELETE ,表名参数指的是触发器事件发生的表的名称,FOR EACH ROW 表示任何一条记录上的操作满足触发事件都会触发该触发器,执行语句参数是指触发器被触发后执行的程序。

例如下列代码:

CREATE TRIGGER login_trigger AFTER INSERT ON login FOR EACH ROW 
INSERT INTO trigger_psd VALUES(NOW());

2、创建有多个执行语句的触发器

触发器执行的语句可能有多个,创建有多个执行语句的触发器的基本形式为:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

    ON 表名  FOR EACH ROW 

    BEGIN

            执行语句列表 

    END

其中:BEGIN与END之间的“执行语句列表”参数表示需要执行的多个执行语句的内容,不同的执行语句之间使用分号隔开。

例如:

DELIMITER &&
CREATE TRIGGER dept_trig2 AFTRE DELETE
      ON department FOR EACH ROW
      BEGIN
          INSERT INTO trigger_time values("21:01:01");
          INSERT INTO trigger_time values("22:01:01");
      END
     &&
DELIMITER

注意:在MySQL(MariaDB)中一个表在相同触发时间的相同触发事件只能创建一个触发器。例如在department表中,触发事件INSERT,触发时间为AFTEER的触发器只能有一个。但是可以定义触发事件为BEFORE 的触发器。如果该表中国执行INSERT语句,那么这个触发器就会自动执行。

3、查看触发器

在MariaDB 中可以使用SHOW TRIGGERS 语句来查看触发器的基本信息,其基本形式如下:

SHOW TRRIGERS;

4、在triggers表中查看触发器的信息

在MariaDB中所有的触发器都定义在information_shema数据库下的triggers表中。查询triggers表可以看到数据库中所有的触发器信息,代码如下:

SELECT * FROM  information_schema.triggers;

查询特定名称的触发器代码为:

SELECT * FROM information_schema.triggers where TRIGGER_NAME='触发器名';

5、删除触发器

删除已经存在数据库中的触发器代码形式如下:

DROP TRIGGER 触发器名;

例如:

DROP TRIGGER dept_trig1;

到此,相信大家对“MariaDB中触发器的使用方法”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前标题:MariaDB中触发器的使用方法
转载来源:http://cdkjz.cn/article/pigiig.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220