php - 无法更新子行

标签 php mysql

我收到此错误

食品项目插入失败无法添加或更新子行:外键约束失败 (menu_manager.recipe_ingredient, CONSTRAINT recipe_ingredient_ibfk_1 FOREIGN KEY ( recipe_id)引用recipe(recipe_id)更新级联)

我正在尝试以一种形式将食谱添加到我的数据库中。我希望输入的数据进入 3 个不同的表。成分表recipe 表和recipe_ingredient 表。配方表有一个自动递增 id 作为主键,成分_id 作为配方表中的外键。

我想要成分名称、数据进入成分表,名称、类(class)、说明进入配方表以及配方表中的成分_id

成分数量和单位转到成分_配方表,该表引用成分_id 和配方_id。

我收到错误: 食品项目插入失败无法添加或更新子行:外键约束失败 (menu_manager.recipe_ingredient, CONSTRAINT recipe_ingredient_ibfk_1 FOREIGN KEY ( Recipe_id)引用recipe(recipe_id)更新级联)

提前感谢大家的帮助

最佳答案

除非您发布代码,否则很难准确判断发生了什么,因此可能是一些不同的事情。这是我从您发布的内容中看到的内容。 添加配料失败,因为配料记录需要具有表中已存在的配方的配方 ID。 您正在创建一个新配方,因此您可能还没有该配方 ID,这可能就是问题的根源。 您需要将菜谱添加到数据库,提交更改,然后检索该记录的自动生成的recipe_id。我认为 PHP 会在成功提交后返回该主键,但否则您需要在将记录添加到表后查询它。 一旦获得了recipe_id 键,您就可以将其包含在成分的插入语句中。

关于php - 无法更新子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22559652/

相关文章:

php - 如何在 Laravel 4 中使用 Blade 进行求和查询

php - 如何将MathMl语言插入mysql数据库列

php - 为什么我在 PHP5.6.8 中的加法和减法中遇到错误

php - 带附件的表单 - jquery ajax php

php - 如何缩短一个sql查询

python - 在 Django 中动态创建热门文章列表?

php - php/mysql 中的更大值

跨多列的 MySQL COUNT()

java - 为什么这个程序在MYSQL中可以运行,但在Java中却不能运行?

php - PURGE 在 Varnish 缓存中失败