数据库进行查询操作时,如果出现Cannot add or update a child row报错,则表示无法添加或更新子行,遇到这种情况一般有三个原因,第一外键和主键的数据类型不匹配,第二存储引擎不同,第三插入的数据不匹配。外键的含义:A表中的一个字段(列)是B表中的主键,则这个字段是A表的外键。
工具/原料
1
mysql数据库
2
需要懂得外键的含义
方法/步骤
1
外键与主键的数据类型不同。A表中的外键数据类型如果为int型,则B表中以这个外键为主键的字段也要和A表中的保持一致,这样才能保证数据的准确性。
2
两个表的存储引擎不同。含外键的A表和主键的B表必须都使用同一种存储引擎——InnoDB,如果使用的引擎不同,那么也会导致无法添加或更新子行。
3
外键与另一个表主键的值不匹配。如果班级表中一个班级的编号为18,那么将学生添加到该班级时,学生表中的班级编号也要为18,如果两个值不匹配,那么就需要将两个表的数据清空,然后重新增加对应数据。
注意事项
第三步中的数值不匹配小编已经修改过来了,只是作为演示,大家根据自己的数据进行匹配
上一篇:sql server如何添加外键
下一篇:ADO.NET结构图解