PHP / MySQL:“无法添加或更新子行:外键约束失败”

时间:2012-02-23 15:51:40

标签: php mysql null foreign-keys foreign-key-relationship

我对(我的)SQL比较新,现在已经用我的头脑猛击我的键盘超过两天了。我似乎无法解决问题。我有一个包含三个表的数据库: items coords price 。表项与价格具有非强制性的1对多关系,与coords具有强制性的1:1关系。每当我尝试更新所有这三个时,我都会收到此错误:

“无法添加或更新子行:外键约束失败

(`items`.`items`, CONSTRAINT `fk_items_coords1` FOREIGN KEY (`coords_idCoords`) REFERENCES `coords` (`idCoords`) ON DELETE NO ACTION ON UPDATE NO ACTION)

我已经尝试了所有我能找到和想到的东西:改变插入顺序,改变关系本身,先手动添加(我知道这是必须的)等等。我也尝试将它们都改为强制一下,因为我注意到在插入价格的外键时没有出现这个问题。但我发现它只是插入一个空值。它可能是一个非常简单的解决方案,但我无法理解它。

Here is my PHPhere is my SQL

我很清楚PHP很邋((特别是两个单独的查询),但是一旦我修复了这个问题,我就会解决这个问题。我希望我已经为您提供了足够的信息。如果您还有其他需要,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,问题非常简单。您正尝试在coord中插入一些items,其中不存在与此ID相符的内容。

仔细检查您要插入的数据......