【发布时间】:2012-03-14 01:24:58
【问题描述】:
我对 (My)SQL 比较陌生,并且已经用头敲击键盘超过两天了。我似乎无法解决问题。我有一个包含三个表的数据库:items、coords 和 price。 table items 与 price 具有非强制的一对多关系,与 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 PHP 和 here is my SQL。
我很清楚 PHP 很草率(尤其是两个单独的查询),但是一旦我解决了这个问题,我就会解决这个问题。我希望我已经为您提供了足够的信息。如果您还有什么需要,请告诉我。提前致谢。
【问题讨论】:
标签: php mysql null foreign-keys foreign-key-relationship