MySQL 使用触发器

前言:MySQL5以上的版本支持触发器功能

什么是触发器:如果你想要某条语句在事件发生时自动执行,就需要用到触发器,确切的说触发器是MySQL响应以下任一语句而自动执行的一条MySQL语句(位于BEGIN和END语句之间的一组语句):DELETE、INSERT、UPDATE,其他MySQL语句不支持触发器

INSERT型触发器 :插入某一行时激活触发器,可能INSERT语句触发。
UPDATE型触发器 : 更改某一行时激活触发器,可能通过UPDATE语句触发。
DELETE型触发器 : 删除某一行时激活触发器,可能通过DELETE语句触发
 

一、创建触发器

触发器用CREATE TRIGGER语句创建,下面是一个简单的例子

每个触发器对应一张表,每张表最多支持6个触发器(DELETE、INSERT、UPDATE之前和之后)

CREATE TRIGGER newproduct AFTER INSERT ON orders -- 创建一个触发器对应orders表
FOR EACH ROW -- 这句话在mysql是固定的
BEGIN
-- 触发器sql语句
END;

同时使用Navicat for MySQL创建触发器方法如下图所示,但是建议使用语句操作。首先在Navicat for MySQL找到需要建立触发器对应的表,右键“设计表”,然后创建触发器。

二、删除触发器

DROP TRIGGER newproduct;

触发器不能更新或覆盖,为了修改一个触发器,必须先删除它,然后重新创建。

三、使用触发器

      1、INSERT触发器

       每当新增一个订单,将这个的订单新增到到总价表备用。NEW表示orders中新插入的值

扫描二维码关注公众号,回复: 10946571 查看本文章
CREATE TRIGGER ordersinsert AFTER INSERT ON orders
FOR EACH ROW #这句话在mysql是固定的
BEGIN
-- 触发器sql语句
INSERT INTO ordertotals(order_num, total)  
values(NEW.order_num, 0);  
END;

发布了156 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/bbj12345678/article/details/105612367
今日推荐