gpt4 book ai didi

php - 无法添加或更新子行 : a foreign key constraint fails

转载 作者:行者123 更新时间:2023-11-28 23:58:18 26 4
gpt4 key购买 nike

SQLSTATE[23000]: Integrity constraint violation: 1452

Cannot add or update a child row: a foreign key constraint fails

(whnkepbk_Hland.interests, CONSTRAINT interests_ibfk_3 FOREIGN KEY (scale_id) REFERENCES scales_reference (scale_id))

我知道问题是因为我必须将值设置为 scale_id 才能添加此数据行。

我这样做了:

    $requete = "INSERT INTO interests (onetsoc_code,element_id,scale_id,data_value) VALUES (:onetsoc_code,:element_id,:scale_id,:data_value)"; 
...
$InsertMetier->bindParam(':scale_id', $scale);
var_dump($scale);
var_dump($InsertMetier);
$InsertMetier->execute();

这里是 var_dump 的内容:

</pre>Ol<pre class='xdebug-var-dump' dir='ltr'><small>string</small> <font color='#cc0000'>'Ol'</font> 

'INSERT INTO interests (onetsoc_code,element_id,scale_id,data_value) VALUES (:onetsoc_code,:element_id,:scale_id,:data_value)'

根据 var_dump,我的比例变量确实有一个值,我的查询听起来合法。

这是我的数据库的截图(兴趣):

enter image description here

scales_reference:

enter image description here

感兴趣的结构:

enter image description here

scale_reference 的结构:

enter image description here

如果有人知道我做错了什么。

最佳答案

MySQL 错误 Integrity constraint violation: 1452 from MySQL manual :

For storage engines supporting foreign keys, MySQL rejects any INSERT or UPDATE operation that attempts to create a foreign key value in a child table if there is no a matching candidate key value in the parent table.

这意味着你是:

  1. 使用父表 (scale_reference) 中不存在的 scale_id 值插入您的 interest 表。
  2. 在您的查询中出现错误并插入空的 scale_id - 从代码片段中不清楚您如何将所有占位符 (:xx) 替换为来自 PHP 的实际值变量,我们看不到发送到 MySQL 服务器的实际查询。

您可以尝试在不使用 PHP 的情况下直接在 MySQL 上运行所需的查询。如果有效,则说明您的 PHP 代码有问题。

关于php - 无法添加或更新子行 : a foreign key constraint fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30868170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com