有主从表 您所在的位置:网站首页 数据库如何删除关联表数据记录 有主从表

有主从表

2024-07-06 19:10| 来源: 网络整理| 查看: 265

有主从表关系的两张表

--delete from  表名 where 条件; 满足条件的删除,如果没有条件,默认删除全部          --删除数据如果当前的表作为主表存在,需要考虑当前要删除的数据是否有被从表引用,如果有 3 中解决方式            -- 默认先删除从表中引用了数据,删除主表的这个数据            -- on delete set null            -- on delete cascade          --删除表 从表可以直接删除   删除的是主表                --先删除所有的从表,再删除主表                --删除主表的同时删除主从表之间的主外键约束   cascade constraint

 

 

--1.删除表时候   --1)默认先删除从表后删除主表   2)执意要删除主表删除主表并同时删除主外键约束  drop table sxt_class  cascade constraints;

drop table sxt_class cascade constraints; --constraints 是約束條件的意思

--2.删除主表中的数据的时候, 删除从表数据可以直接删除        --这个主表数据如果没有被从表中的数据引用,可以直接删除        --这个主表数据如果已经被从表中的数据引用,需要处理         --1) 先删除从表中引用了的数据  再删除主表的这个数据                --2) 添加外键约束的时候 on delete set null,当主表数据被删除时,从表引用这条数据的外键字段值为null  删除时设置字段为空          --3) 添加外键约束的时候 on delete cascade删除主表数据的时候级联删除从表中引用了的这些数据 ,删除时设置整行数据空

create table sxt_student(        --主键约束  (非空+唯一)        sid number(5) primary key,         --非空约束 not null --constraints sname_not_null這是設置如果報錯提示消息會告訴你那個字段錯了,起個別名        sname varchar2(4 char)   constraints sname_not_null   not null,           cid number(5),        constraints fk_sxt_class_cid foreign key(cid) references sxt_class(cid) on delete cascade--on delete set null )

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有