首页 文章

试图一次更新两个表MySQL

提问于
浏览
1

我一直在尝试使我的数据库工作,以便将不同表中的 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));
}

编辑国家表包含两列

-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)

1 回答

  • 0

    您的插入没有cooking_id,因此外键约束失败,正如它告诉您的那样 . 如果您希望该列为NULLABLE,则可以省略插入中的cuisine_id列 .

相关问题