在做hibernate的manytoone的时候,在删除表的时候出现:
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 表名,就可以删除表了!
删除完成之后再设置回来:SET FOREIGN_KEY_CHECKS = 1;
相关推荐
在SSM项目中执行一个删除用户操作时报错,遂在navicat中尝试是否可以直接删除,报如下所示错误 student表的主键是selectedcourse表的外键,当需要删除student表内的一行数据时,必须在selectedcourse表内设置该外键...
当尝试删除一个表而该表包含其他表所依赖的字段时,MySQL会抛出错误1217(23000),提示“Cannot delete or update a parent row: a foreign key constraint fails”。为了解决这个问题,我们可以利用MySQL中的一个...
当试图删除一个被其他表的外键引用的行时,MySQL会抛出错误[Err] 1451,提示“Cannot delete or update a parent row: a foreign key constraint fails”,阻止操作执行,以防止破坏数据的完整性。 解决这个问题的...
这篇文章主要涉及到在数据创建表时,遇到ERROR 1215 (HY000): Cannot add foreign key constraint 问题方面的内容,对于在数据创建表时,遇到同样问题感兴趣的同学可以参考一下。 一、问题的提出 创建两个表: ...
Foreign Key Constraint Fails(亲测可用).md