Last answered:

21 Apr 2020

Posted on:

17 Apr 2020

0

Fail to Insert Due to Foreign Key Constraints Fail

The INSERT Statement  -  Exercise 1 Solution 2

insert into dept_emp
(
emp_no,
dept_no,
from_date,
to_date
)
values
(
999903,
'd005',
'1997-10-1',
'9999-01-01'
); the execute failed with a message saying '  cannot add or update a child row: a foreign key constraints fail". I am wondering if there is a way around. Thanks, Jo Zhou  
1 answers ( 0 marked as helpful)
Instructor
Posted on:

21 Apr 2020

0
Hi Jo! Thanks for reaching out. We’ve answered this question here: https://365datascience.com/question/error-code-1452-cannot-add-or-update-a-child-row-a-foreign-key-constraint-fails-employees-titles-constraint-titles_ibfk_1-foreign-key-emp_no-references-employees-emp_no-on-delete-2/
But here’s the answer for your convenience.
Please stick to our general request to execute all code you see in the lectures and the exercises, in the given order. Doing this will prevent you from encountering some errors, such as this one – Error Code: 1452.
REASON FOR THE ERROR:
This error appears if you have already created another table, employees, where you have missed inserting data about the individual with id 999903. The relationship you have established between employees and dept_emp requires that you first insert a record in employees, and then insert a (related) record in dept_emp.
ON DELETE CASCADE means that if you remove record 999903 from employees, record 999903 will automatically be removed from dept_emp as well.
In brief, make sure the relationship between employees and dept_emp is valid and 999903 exists in employees so that you don’t get the same error the next time you try inserting 999903 in dept_emp.
SOLUTION: As explained in the article preceding this video, double-check if you’ve first inserted information about employee number 999903 in the employees table. Only then you should proceed with inserting information in the titles and dept_emp tables.

Hope this helps.
Best,
Martin

Submit an answer