簡體   English   中英

選擇到外鍵列:無法添加或更新子行:外鍵約束失敗

[英]select to foreign key column: Cannot add or update a child row: a foreign key constraint fails

我試圖將值從數據庫中填充的選擇字段傳遞到具有外鍵列的表中

表格

 <?php
       require ('aaa2/conn/auth.php');

       $select = "SELECT * FROM aaa_categories";
       $res = mysqli_query($conn, $select) or die(mysqli_error($conn));

       if (mysqli_num_rows($res)) {
              echo "<select name='aaa_cat' class='form-control' id='aaa-cat' required>";
              echo "<option selected>--Select a category that best fits your petition--</option>";
              while ($row = mysqli_fetch_array($res)) {
                    echo '<option value="'.$row['aaa_categories_id'].'">'.$row['aaa_categories_name'].'</option>';
                                    }
                    echo "</select>";
                                }
 ?>

處理器

$aaa_details = mysqli_real_escape_string($conn, $_POST['aaa_details']);
$aaa_cat = mysqli_real_escape_string($conn, $_POST['aaa_cat']);
$query = "INSERT INTO aaa (aaa_detail, aaa_cat)VALUES ('$aaa_details', '$aaa_cat')";
$result = mysqli_query($conn, $query) or die(mysqli_error($conn));

模式

    CREATE TABLE IF NOT EXISTS `aaa_db`.`aaa` (
  `aaaid` INT NOT NULL AUTO_INCREMENT,
  `userid` INT NOT NULL,
  `aaa_categories_id` INT NOT NULL,
  `aaa_detail` VARCHAR(350) NULL,
  PRIMARY KEY (`aaaid`),
  INDEX `fk_aaa_users1_idx` (`userid` ASC),
  INDEX `fk_aaa_aaa_categories1_idx` (`aaa_categories_id` ASC),
  CONSTRAINT `fk_aaa_users1`
    FOREIGN KEY (`userid`)
    REFERENCES `aaa_db`.`users` (`userid`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_aaa_aaa_categories1`
    FOREIGN KEY (`aaa_categories_id`)
    REFERENCES `aaa_db`.`aaa_categories` (`aaa_categories_id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

錯誤

Cannot add or update a child row: a foreign key constraint fails (`aaa_db`.`aaa`, CONSTRAINT `fk_aaa_aaa_categories1` FOREIGN KEY (`aaa_categories_id`) REFERENCES `aaa_categories` (`aaa_categories_id`) ON DELETE NO ACTION )

我已經為此苦苦掙扎了三天,我很感謝任何建議。 謝謝

您的查詢

插入aaa(aaa_detail,aaa_cat)VALUES('$ aaa_details','$ aaa_cat')

除非aaa_cat == aaa_categories_id,否則似乎與您的實際架構不符

如果是這種情況,您得到的錯誤很奇怪。 如果它抱怨限制“ fk_aaa_users1”,我會理解,因為您沒有在相關列中插入任何內容。

請查看您發布的信息並提出建議。 然后,我將相應地更新此答案...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM