zoukankan      html  css  js  c++  java
  • MySQL 中触发器的应用

    在一个教育系统里面,有 科目表 ,章节表(每一科目对应若干大章节),小节表(每一大章节下面有若干小节),习题表(每一小节对应若干习题),

    在后台管理系统中 有这样几个功能要实现,在 科目列表页面中  可以删除某一科目,在章节列表页面中,可以删除某一章节,小节列表和习题列表同样,

    那么有一个问题要先提出来,就是科目被删除后,科目下面对应的大章节,大章节对应的小章节,以及习题  要不要同步删除?

    当然是要同步删除的。

    当遇到这种有依赖关系(可以理解为连锁效应)的情况,何以解决,唯有触发器。

    (表的具体结构没必要说明,不影响理解)

    delimiter &&
    
    drop trigger if exists del_sorts;
    
    create trigger del_sorts after delete
        on course_sorts for each row
    
            begin
                    delete from course_chapter where pid=old.id;
            end &&
    
    delimiter ;
    
    
    delimiter &&
    
    drop trigger if exists del_chapter;
    
    create trigger del_chapter after delete
        on course_chapter for each row
    
        begin
            delete from course_section where pid=old.id;
        end &&
    
    delimiter ;
    
    
    delimiter &&
    
    drop trigger if exists del_section;
    
    create trigger del_section after delete
        on course_section for each row
    
        begin
            delete from practice where section_id=old.id;
        end &&
    
    delimiter ;
  • 相关阅读:
    C# Enum设计和使用的相关技巧
    Bat文件编写
    js cookie操作
    Android use custom html tag in TextView
    Charset , Encoding
    Android View (transship)
    Android About ContentProvider
    android,create text file in sdcard
    Eclipse Shortcuts
    Common Terminology
  • 原文地址:https://www.cnblogs.com/codeAB/p/9603276.html
Copyright © 2011-2022 走看看