给有数据的表添加外键,或者给已经建好了的空表插入数据的时候,有时候会出现这段提示:
1452 - Cannot add or update a child row: a foreign key constraint fails…
我摸索了一段时间后,总结了如下几条原因。
可能原因如下:
1.该被设置为外键的属性列中出现了主表对应属性列中没有的纪录。
简而言之,就是两个表里的属性列的数据对不上。
例:
先看这个【部门】表,属性为:部门名称,所在楼,经费。
我们把它当做主表,主键是(dept_name)
再看这张【导师】表,我们把它当做从表。导师表的属性里也有(dept_name),我们此时要把它当做外键的话,就会出现最开始的那个报错。