2015-02-06 46 views
0

我正在试图通过腻子导入SQL转储下面的错误。不能添加或更新子行,外键违反

Cannot add or update a child row: a foreign k`.`#sql-79bd_378d`, CONSTRAINT `FK_3F27962AD89DB423` FOREIGN KEY (`school_id`) 

我在stackoverflow上发现了类似的问题,并知道为什么我得到这个错误。但我的问题是我怎么能找到导致这个错误在学校表中的罪魁祸首行?

+0

您尝试导入数据的表是否指定了任何外键? – 2015-02-06 18:48:21

+0

@EvanOJack - 我正在导入整个数据库不只是一个表。它的外键定义如下:ALTER TABLE'school_tags' ADD CONSTRAINT'FK_3F27962AD89DB423'外键('school_id')参考'schools'('id') – NoviceMe 2015-02-06 18:51:00

+0

也许我没有正确地在第一次读你的问题,它的声音就像你知道问题在于你正在导入一个有'school_id'的行在'schools'表中不存在。我不确定这是否是最好的方法,所以我不会将它作为答案,但是您是否尝试过创建没有外键的新表并将数据导入到它中?然后,您可以查询新表格中的行,以查看'schools'表中不存在'school_id'。 – 2015-02-06 18:53:33

回答

1

您可以临时禁用外键约束。

SET FOREIGN_KEY_CHECKS=0; 

... import SQL... 

SET FOREIGN_KEY_CHECKS=1; 
相关问题