zoukankan      html  css  js  c++  java
  • 触发器,你是否在删除时出现500,有的删除成功,有的删除就出现500。

    原因:删除成功的是没有其它表对其的外键引用,所以才能顺利地删除。而触发器,就是当某个表进行insert delete update前或后开始执行,而具体是什么,那就要自己去写了。

    讲解:请看下面的1、2、3、

    DELIMITER $$   #1、替换结束标记为$$,没看到下面用到了$$
    
    CREATE
    TRIGGER `uplog`.`logIfDel` BEFORE DELETE
    ON LOG
    FOR EACH ROW BEGIN   #2、创建一个LOG(文章表)表触发器,当该表每一条记录被删除【delete】后【BEFORE】执行下面的3(这里有两条语句或说comment评论表与point_log点赞记录表都依赖文章表的log_id的作为其外键)
    
    
    DELETE FROM COMMENT WHERE log_id=old.log_id; #3、在触发器中会在内存中生成有两种表,old表与new表,old.log_id就是被删除的文章那条记录对应的log_id,然后删除评论表与点赞记录表中对应的记录,这样我们才能顺序得删除log文章表中的记录(因为去掉了其它表对其的外键引用)。
    DELETE FROM point_log WHERE log_id=old.log_id;
    
    
    END$$
    
    DELIMITER ;
  • 相关阅读:
    java中VO、PO、DTO 、DO、POJO、BO、TO
    java可变参数
    排序
    快速排序
    单元测试概述
    Spring 对事务管理的支持
    Spring的事务管理基础知识
    混合切面类型
    基于Schema配置切面
    Spring AOP @AspectJ进阶
  • 原文地址:https://www.cnblogs.com/zjazn/p/14266068.html
Copyright © 2011-2022 走看看