美文网首页
触发器的学习

触发器的学习

作者: 简单Liml | 来源:发表于2018-12-28 14:17 被阅读4次

    触发器是当表中的内容发生增删改时,自动触发的代码。
    触发器包含的三要素
    1.事件类型:增(insert)删(delete)改(update)
    2.触发时间:事件触发的前(before)后(after)
    3.触发对象
    每张表不能存在两张相同事件类型和触发时间的触发器,即最多只能拥有3*2种触发器
    触发器语句:

    create trigger + 触发器名称 + 触发器时间 + 事件类型 on 表名 for each row
    begin -- 代表触发器内容开始
    -- 触发器内容主体,每行用分号结尾
    end -- 代表触发器内容结束
    

    还有两记录名:
    1.OLD代表是旧记录,也就是当前记录的状态,插入时没有OLD;
    2.NEW代表是新记录,也就是假设操作发生之后记录的状态,删除时没有NEW。
    取值为: OLD/NEW . 字段名

    下面是数据实例:
    表一 user_product:


    user_product

    表二 user_first:


    user_first

    逻辑陈述:当删除user_product表中的数据时,根据user_id关联user_first的id,删除user_first对应行。
    创建触发器:

    CREATE TRIGGER after_product_del AFTER DELETE ON user_product for each ROW
    BEGIN
        DELETE from user_first WHERE id = OLD.user_id;
    END
    

    执行user_product删除操作:

    DELETE from user_product where id = 3
    

    结果:


    image.png image.png

    如需查看触发器,可用show triggers查看。也可在对应表的设计表中查看。

    相关文章

      网友评论

          本文标题:触发器的学习

          本文链接:https://www.haomeiwen.com/subject/xrmslqtx.html