`
xiaofengxbf
  • 浏览: 18331 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

阅读更多

在做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;
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics