MySQL错误1452:无法添加或更新子行

时间:2019-04-20 17:53:34

标签: mysql mysql-workbench

首先,很抱歉使用荷兰语,但是我怀疑是否需要为此使用语言。

每当我使用Forward-Engineer时,都会出现错误1452。问题是,我使用的是现有的父表数据来填充子表。

These are the two tables i'm having trouble with.

This是PARENT表中的插入,如您所见,它不是空的。

This是CHILD表中的插入,填充有PARENT表的现有数据。

最后,我进行正向工程here时遇到错误。

我被困了很长时间,非常希望得到一个答案。希望我能提供足够的信息(第一次问问题)。

1 个答案:

答案 0 :(得分:2)

Mysql 1452错误表示您正在尝试插入其父ID不在父表中的子记录。

尝试将您的列与以下查询匹配。

SELECT 
    DISTINCT ct.id 
FROM 
   child_table as ct 
   LEFT JOIN parent_table as pt ON ct.parent_id=pt.id 
WHERE 
    pt.id IS NULL;

希望这会有所帮助!