Cascad级删的单理解

版权声明:无情不似多情苦,一寸还成千万缕。天涯地角有穷时,只有相思无尽处。 https://blog.csdn.net/u011078141/article/details/89397118

Cascade级联删除的简单理解

可以先简单理解成:触发器

让我们举个栗子

  1. 在数据库建三个表:a(主表),aa,aaa
-- 表a
create table a(
id intPRIMARY KEY,
age int
)

– 表aa,没有级联
create table aa(
id1 intPRIMARY KEY,
age1 int,
FOREIGN KEY(id1) REFERENCES a(id)
)

– 表aaa,设置级联删除
create table aaa(
id2 intPRIMARY KEY,
age2 int,

FOREIGN KEY(id2) REFERENCES a(id) ON DELETE CASCADE
)

  • 对各表插入数据
  • insert into a VALUES ('001','001');
    insert into a VALUES ('002','002');
    insert into aa VALUES ('001','0011');
    insert into aaa VALUES ('002','0022');
    
      
      
      
      
    • 1
    • 2
    • 3
    • 4

    2.1. 查看一下此时各表的数据

    select id 'a表id',age from a;
    select id1 'aa表id',age1 from aa;
    select id2 'aaa表id',age2 from aaa;
    
      
      
      
      
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1. 对主表进行记录删除操作
    delete from a where id = 1; -- 无法删除
    delete from a where id = 2; -- 可删除
    
      
      
      
      
    • 1
    • 2
    1. 再查看一下各表
    select id 'a表id',age from a; -- 少了一条记录
    select id1 'aa表id',age1 from aa; -- 无变化
    select id2 'aaa表id',age2 from aaa; -- 无纪录
    
      
      
      
      
    • 1
    • 2
    • 3

    《算法导论 第三版英文版》_高清中文版

    《深度学习入门:基于Python的理论与实现》_高清中文版

    《深入浅出数据分析》_高清中文版

    《Python编程:从入门到实践》_高清中文版

    《Python科学计算》_高清中文版

    《深度学习入门:基于Python的理论与实现》_高清中文版

    《深入浅出数据分析》_高清中文版

    《Python编程:从入门到实践》_高清中文版


    猜你喜欢

    转载自blog.csdn.net/u011078141/article/details/89397118