mysql删除关联表的实操方法
mysql数据库中,表与表之间进行关联之后,就不可随意的进行删除操作,否则会影响所有关联表之间的结构,那么如何安全的删除关联表呢,让我们来了解一下。
删除表的外键约束
外键是一个特殊字段,其将某一个表与其父表建立关联关系。在创建表的时候,外键约束就已经设定好了。去掉他们之间的关联关系需要用到下面语句。
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;.
执行成功则表示操作成功。
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。