我一直在尝试让我的数据库工作,以便将不同表中的cuisineid
列链接在一起。我已经在两个表上定义了主键和外键,但是当我尝试更新它们时,我得到了这个错误:
Insert failed: Cannot add or update a child row: a foreign key constraint fails
(`ml11maj_Databasetest`.`Nation`, CONSTRAINT `Foreign Key` FOREIGN KEY (`cuisineid`)
REFERENCES `recipename` (`cuisineid`) ON DELETE CASCADE ON UPDATE CASCADE)
其余的上传工作,但没有添加到Nation
(菜单ID是主键,当前设置为AI)表,目前插入的代码看起来像这样
if ($cuisine !=''){
$query = "INSERT INTO`Nation`(cuisine_type)VALUES('$cuisine')";
mysqli_select_db($db_server, $db_database);
mysqli_query($db_server, $query) or
die("Insert failed: " . mysqli_error($db_server));
}
EDIT 国家表包含两列
-Cuisine_type Varchar -cuisineid int Primary
recipename表
-recipeid int(255)AUTO_INCREMENT
-mealname文本
-b_l_d varchar(30)
- 成分文本
-hours int(11)
-minutes int(11)
-recipe text utf8_bin
-feeds int(11)
-imagepath varchar(100)
-userid int(11)
-cuisineid int(255)
答案 0 :(得分:0)
您的插入没有cooking_id,因此外键约束失败,正如它告诉您的那样。如果您希望该列为NULLABLE,则可以省略插入中的cuisine_id列。