删除被其他表关联的主表

转载 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。

相关文章推荐

主表,从表,关联表,父表,子表

一、前言     在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和O...

【转载】PP 模块,业务主表, 跟MM模块关联

类型 表名 短文本 字段 描述 说明 物料主数据 MARA 常规物料数据(MM03) MATNR 物料号 此表中最重要的是根据...

存在外键关联的主表truncate如何做

主外键是数据库提供的一种两表之间强制关联的方法,也可以从应用层实现。优点缺点数据库实现的主外键由数据库层机制保证,无需应用额外实现强关联,不易扩展变更应用实现的主外键易扩展变更完全由应用控制,要求较高...
  • bisal
  • bisal
  • 2015年06月09日 08:42
  • 8049

主键,外键,主表,从表,关联表,父表,子表

一、前言     在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和...

主表,从表,关联表,父表,子表

主表,从表,关联表,父表,子表 博客分类:  DataBase Design   一、前言     在数据库设计中,Hibernate,iBatis等OR...

【数据库】 主键,外键,主表,从表,关联表,父表,子表

一、前言     在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和O...

浅析【数据库】 主键,外键,主表,从表,关联表,父表,子表

一、前言在数据库设计中,hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和ORM框架的学习使用是...

主表、从表、关联表、父表、子表

一、前言     在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计...

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

小弟用hibernate不到一年,有许多技术锤炼还不够,写的方法难免有问题,真诚的欢迎大侠们指正不妥之处。公司的OA.所用的SSH(Spring+Struts1.0+Hibernate)数据库表--销...

使用sql级联删除,删除主表的一条信息,有外键关系的子表的信息也随之删除

1、建库 if exists(select * from sysobjects where name='temp') drop database temp go create database...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:删除被其他表关联的主表
举报原因:
原因补充:

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