关于MySQL删除主从表数据问题
当两张表没有建立任何关系的时候,那么可以随意删除其中任何一张表中的任何记录。
如果两张表建立了关系(主外键约束)之后,就不能直接删除主表中的数据(在从表中有关联关系的数据),如果直接执行删除(更新)操作,那么就会出现下图中的错误:
解决方法:
要想删除主表中与从表有关联关系的数据,有如下2种方法:
第一种:
先删除从表中与主表有关系的数据,再删除主表中的数据(具体自己操作)。
第二种:
解除主从表的约束关系。
一般来说,在我们给主表添加外键时,切记要设计“外键名称”,以便于日后可以删除外键约束。
声明外键约束语法:
alter table 从表名 add [constraint] [外键名称] foreign key(从表中的外键字段名) references 主表(主表的主键);
[外键名称]:用于删除外键约束,一般建议以“_fk”结尾。
【解除方法】:
alter table 从表名 drop foreign key 外键名称;
然后尽情的删除吧!!!