外部约束失败

时间:2019-05-31 08:57:37

标签: php mysql foreign-keys

我的网站部分出现问题。您可以导入excel文件,此文件将创建产品并将其链接到类别。 当我导入excel时,某些行正在工作,而另一些则没有。错误消息如下:

  

无法添加或更新子行:外键约束失败(shopproduit_categorie,CONSTRAINT FK_produit_categorie_categorie_id外键(categorie_id)参考categoriecategorie_id

这是导入excel时的代码:

 public static function saveData(PDO $bdd, PHPExcel_Worksheet $objWorksheet, $constructeur_id, $catalogue_id) {

/* . . . */
                     else if ($type == RowType::PRODUIT) {

                        $data_array = self::getRowData($row);
                        $taxe_id = self::generateTaxe($bdd);
                        $produit_id = self::generateProduit($bdd, $data_array, $constructeur_id, $taxe_id);
                        self::generatePrixProduitCatalogue($bdd, $data_array, $produit_id, $catalogue, $catalogue_id, $cpt_row_full);
                        self::generateCategorieProduit($bdd, $categorie_id_courante, $produit_id);

                        $code_retour = "200";


                    } else if ($type == RowType::PLATEFORME) {
                        // si la ligne est autre chose que produit ou info -> donc intitule plateforme
                        $code_retour = "200";
                    } else {
                        // erreur
                        $code_retour = "400_" . $cpt_row;
                        break;
                    }

                }
                $cpt_row_full++;

            }// fin IF "ligne pas vide"
            $cpt_row++;
        }// fin foreach
        echo $code_retour;
    }

因此,这些产品都是在我的数据库中创建的。但是我不明白的是为什么有些产品可以正常工作,而另一些产品却可以正常工作(在相同的excel,相同的模型上,但是两行之后又是下一行)。

你有什么主意吗?

1 个答案:

答案 0 :(得分:0)

也许要检查excel工作表中的值是否设置为0或为空白,或者是否试图在excel中分配不存在的ID。