Mysql删除foreign key 和 key

Cannot delete or update a parent row: a foreign key constraint fails  


最近自己在瞎倒腾项目,碰到一个问题挺有意思的,详细如下:

在Mysql中创建表的时候,设置了表的自我关联(就是一个表有个主键,还有另外一个字段,该字段作为本表的外键,关联这个主键),插入一条数据后,如果想删除这条数据,首先必须删除外键约束,drop constrain 外键名称 ,但是会发现,删除外键约束后,在mysql的命令行中使用show create table 表名,查看表的结构,你会发现,其实还有个key 外键名,这个东东;这个东东相当于索引index,所以删除的时候,使用语句alter table drop index 外键名称,然后使用show create table 表名,去查看,发现,key 也删除了,这个时候,你要是再使用drop table 表名,会提示你如下错误:

Cannot delete or update a parent row: a foreign key constraint fails  

解决方法:

SET FOREIGN_KEY_CHECKS = 0;

这样就可以解决了,使用drop table 表名,就可以删除表了!
祝你好运……


你可能感兴趣的:(mysql)