[英]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.