2012-02-23 123 views
2

我对(My)SQL相对较新,并且现在已经用我的头撞了我的键盘两天了。我似乎无法解决问题。我有一个包含三个表的数据库:项目,coords价格。表格项目与价格之间具有非强制性的一对多关系,并且与coords具有强制性的1:1关系。每当我尝试更新他们三个,我得到这个错误:PHP/MySQL:“无法添加或更新子行:外键约束失败”

“不能添加或更新子行,外键约束失败

(`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是sl(的(特别是两个单独的查询),但我会解决这个问题。我希望我已经提供了足够的信息。如果您还有其他需要的东西,请告诉我。提前致谢。

回答

0

嗯,问题很简单。您正尝试将一些coord插入到items中,此处不存在与此ID一致的内容。

仔细检查你正试图插入的数据...

+0

但是,有数据存在于两个坐标中作为价格。 – Thevet 2012-02-23 16:01:46

+0

是的,但是关键值插入'items'中是错误的。那个怎么样? – 2012-02-23 16:03:07

+0

那么你会如何解决这个问题呢?对不起,我对此比较陌生。 – Thevet 2012-02-23 16:04:46

相关问题