删除被其他表关联的主表

转载 2016年08月28日 15:50:43
数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。原因直接删除,将破坏表的参照完整性。 如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样会同时删除两个表中的数据。但有的情况下可能要保留子表,这时如要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表了。

【例4.5】定义数据表tb_emp5,并在tb_emp5表上创建外键约束。
创建一个部门表tb_dept1,SQL语句如下:

CREATE TABLE tb_dept1
(
id       INT(11) PRIMARY KEY,
name    VARCHAR(22)  NOT NULL,
location  VARCHAR(50)
);

定义数据表tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id,SQL语句为:

CREATE TABLE tb_emp5 
(
id      INT(11) PRIMARY KEY,
name   VARCHAR(25),
deptId  INT(11), 
salary   FLOAT,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
);

以上语句执行成功之后,在表tb_emp5上添加了名称为fk_emp_dept1的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id。

SQL级联删除——删除主表同时删除从表——同时删除具有主外键关系的表

create table a  (  id varchar(20) primary key,  password varchar(20) not null )    create...
  • albert386235433
  • albert386235433
  • 2011年08月06日 15:44
  • 2928

实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除

问题描述:某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要判断是否已经被用过,如果用过则更改标志位,如果没有用过则直接删除,如何能很好实现这个处理?最好能够自动适应表的变化 问题...
  • zjcxc
  • zjcxc
  • 2006年09月18日 11:30
  • 10680

转:邹建--实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除

转:http://blog.csdn.net/zjcxc/archive/2006/09/18/1236639.aspx问题描述:某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要...
  • flyskylf
  • flyskylf
  • 2007年12月25日 12:57
  • 451

Hibernate 删除主表记录并删除副表记录解决方法

公司的OA。采用SSH(Spring+Struts1.0+Hibernate) 小弟接触Hibernate不久,写的文章难免有些地方欠妥,如有不对之处,请给我留言或用QQ(941867223)联系我及...
  • xiangsuixinsheng
  • xiangsuixinsheng
  • 2011年06月02日 17:29
  • 3522

Oracle中主从多表删除数据

Oracle中主从多表删除数据时,必须用级联删除吗? 一个主表,带了三个从表,一一关联,A为主表 A->B->C->D 从A表中删除一条数据时,要把BCD表里相关的数据都删除的话 用什么方...
  • xusongsong520
  • xusongsong520
  • 2012年12月28日 18:32
  • 1712

Oracle 中删除2个相关联的表(主外键表)

删除2个相关联表中的数据(主从表)的几种方案: 使用触发器,删除主表数据时,触发删除从表中的数据;使用存储过程,先删除从表记录,再删除主表中的数据;直接进行操作,建立一个事务,先删除从表数据,再...
  • xusongsong520
  • xusongsong520
  • 2012年12月28日 18:35
  • 1960

关于一个表关联两个表中之一的注解方式

三张表A、B、C,主键分别是A_ID、B_ID、C_ID,A表里面有一个字段TYPE(String)跟一个字段CONNECT_ID(Long),TYPE字段的值有两种,分别是CONNECT_B跟CON...
  • NotOnlyForShe
  • NotOnlyForShe
  • 2012年03月22日 13:45
  • 1410

hibernate 级联删除时候的两种情况 之(一) 删除主表、关系表跟从一并都删除了

文章转自 :http://www.85java.com/thread-2186-1-1.html前阵子,使用Hibernate删除多对多删除的时候遇到了点问题,情况是这样的: A表和B表存在多对多关系...
  • id19870510
  • id19870510
  • 2011年03月02日 00:40
  • 4720

订单的附件相关表关系

CRMORDERPHF   根据PHIO_ID 获取文档的基本信息 CRMURLLOIO      根据LOIO_ID获取url的基本信息 CRMURLPHIO       PHIO_ID...
  • fanchacha
  • fanchacha
  • 2016年12月05日 14:31
  • 498

Hibernate 删除副表记录但不删除主表记录解决方法

小弟用hibernate不到一年,有许多技术锤炼还不够,写的方法难免有问题,真诚的欢迎大侠们指正不妥之处。公司的OA.所用的SSH(Spring+Struts1.0+Hibernate)数据库表--销...
  • xiangsuixinsheng
  • xiangsuixinsheng
  • 2011年06月02日 13:00
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:删除被其他表关联的主表
举报原因:
原因补充:

(最多只允许输入30个字)