• 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 ;
  • 相关阅读:
    华为交换机配置命令总结
    Linux 系统启动项修复
    Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )
    Linux 查看用户命令
    linux 查看过滤命令命令
    Linux篇---ftp服务器的搭建
    linux挂载详解
    园区IP地址规划(非常详细)
    Linux创建、删除文件和文件夹命令
    CentOs 7 安装 Xampp
  • 原文地址:https://www.cnblogs.com/codeAB/p/9603276.html
Copyright © 2020-2023  润新知