【发布时间】:2014-01-20 06:10:16
【问题描述】:
我一直在尝试使我的数据库正常工作,以便将不同表中的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(cuisine 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 主要
配方名称表
-recipeid int(255) AUTO_INCREMENT
-餐名文本
-b_l_d varchar(30)
-成分文本
-小时 int(11)
-分钟 int(11)
-配方文本 utf8_bin
-feeds int(11)
-imagepath varchar(100)
-userid int(11)
-cuisineid int(255)
【问题讨论】:
-
您插入的是
cuisine_type而不是cuisine_id -
请发布您的
Nation表和任何其他带有互锁键的表的定义。 -
我已经用我的表定义更新了问题,美食 ID 是 Nation 表中的自动递增,所以我如何在我的查询中包含它?
标签: php mysql database relation