mysql数据库中,表与表之间进行关联之后,就不可随意的进行删除操作,否则会影响所有关联表之间的结构,那么如何安全的删除关联表呢,让我们来了解一下。

mysql使用drop命令删除关联表,方法为:

1. 删除表的外键约束

外键是一个特殊字段,其将某一个表与其父表建立关联关系。在创建表的时候,外键约束就已经设定好了。去掉他们之间的关联关系需要用到下面语句。alter table 表名 drop foreign key 外键别名;

外键别名参数指创建表时设置的外键代号。

2. 删除没有被关联的普通表drop table 表名;

删除一个表时,表中的所有数据也会被删除。删除表时最好先将表中的数据备份一下。

3. 删除被其他表关联的父表

当删除有关联关系的表时,用drop table example1 会报错,原因是有外键依赖于该表

例如创建了一个example4表依赖于example1表,example4表的外键stu_id依赖于example1表的主键。example1表时example4表的父表。

如果要删除example4表,必须先去掉这种依赖关系。最简单的办法是先删除子表example4,然后删除父表example1。但这样可能会影响子表的其他数据。

另一种方法是先删除子表的外键约束,然后删除父表。这种方法不会影响子表的其他数据,可以保证数据库的安全。

比如,example4表的外键别名是d_fk,删除example4的外键约束

alter table example4 drop foreign key d_fk;。

可以通过show create table example4 \G来查看是否已删除。

然后再执行drop table example1;.

执行成功则表示操作成功。

mysql 关联删除_mysql如何删除关联表相关推荐

  1. mysql如何逻辑删除_mysql逻辑删除如何恢复

    在项目中,一般会遇到这种情况:逻辑删除以及多关联不删除 逻辑删除(软删除):逻辑删除就是对要被删除的数据打上一个删除标记,通常使用一个is_deleted字段标示行记录是不是被删除(或者使用一个sta ...

  2. mysql 分区合并_mysql中的合并表和分区表详解(经常使用的概念)

    分区表是mysql5.1之后的新特性,合并表已经存在很长时间了.这篇文章主要介绍这两个概念以及他们基本的操作. 一.合并表 合并表说实话是一种将要被淘汰的技术,但是掌握了合并表的概念再去看分区表就比较 ...

  3. mysql 整理碎片_mysql 如何去整理表数据,碎片整理

    展开全部 MySQL 的碎片是 MySQL 运维过程中比较常见的问题,碎片的62616964757a686964616fe59b9ee7ad9431333433643731存在十分影响数据库的性能,本 ...

  4. mysql看表关联视图_MySQL数据库 : 自关联,视图,事物,索引

    自关联查询(自身id关联自身id(主键),查询的时候可以逻辑分为两个表,然后分别起一个别名来区分) select * from areas as city inner join areas as pr ...

  5. 表名含有后缀 mysql 怎么删除_mysql批量删除指定前缀或后缀表

    今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了 ...

  6. mysql存储过程删除_MySQL 存储过程删除大表

    1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...

  7. mysql数据库关联练习_mysql数据库建立数据表的练习(附代码)

    数据库操作和学习并不难,难的是如何在各种实际运用情况下编写SQL语句的实现.这个过程,需要大量的练习,那么从这里开始,我们来讲解实现. 任务概述 具体关系数据库如下: 数据库名:教师数据库 教师表(编 ...

  8. mysql delete 级联删除_MySQL级联删除和更新

    首先,目前在产品环境可用的MySQL版本(指4.0.x和4.1.x)中,只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎. 下面,我们先创建以下测试用数据库表: CREA ...

  9. mysql外部关联视图_MySQL数据库 : 自关联,视图,事物,索引

    自关联查询(自身id关联自身id(主键),查询的时候可以逻辑分为两个表,然后分别起一个别名来区分) select * from areas as city inner join areas as pr ...

最新文章

  1. Hobby开挂!加速web编码
  2. SpringSecurityOAuth使用JWT Token实现SSO单点登录
  3. 用pyhton 写一个简单的三级列表
  4. CRM BSP里控制左右对应对齐的属性align
  5. java tutorial mobi_Java 初学者List集合教程
  6. oracle序列修改语句
  7. phpstorm的安装和破解
  8. 如何在 Chrome 浏览器中安装印象笔记·剪藏插件
  9. 1周前,一个对外挂一无所知的人,在的成长过程(经典推荐)
  10. python实现泊松分布_Python实现概率分布(二项分布、伯努利分布、泊松分布、几何分布、正态分布等)...
  11. 多路由器实现无线无缝漫游
  12. 消控中心人员配置_消控室的设置要求有哪些?
  13. TortoiseSVN简明教程
  14. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day34】—— 消息队列2
  15. 本地笔记本连接sqlserver数据库连接失败 证书链是由不受信任的颁发机构颁发的
  16. Metamask不能访问以太坊账户?隐私模式!
  17. 在win10下把iPad利用起来,当作电脑的副屏
  18. 华为轮值董事长郭平:华为重申不造车
  19. 又又又被段永平加仓,是时候抄底腾讯了吗?
  20. 12306系统架构,凭什么支撑每天如洪水般的各种抢票插件?

热门文章

  1. json数据的中文显示问题 python
  2. 深度学习区分不同种类的图片
  3. 经典SQL语句大全(Mssql语句)(Acc语句) 完美兼容科讯cms!
  4. python 11高级特性
  5. 万能js时间日期格式转换
  6. java开发 获取客户端地磅串口数据
  7. 大数据专栏一-全自动化在线式当当销售情况分析预测系统
  8. 华为服务器虚拟化搭建,一台服务器搭建虚拟化
  9. 在access中记录的末尾标志是什么_ACCESS教材第45章习题
  10. yolov3实践(一)