多对多配方数据库SQL

时间:2014-09-16 15:29:55

标签: php mysql sql mysqli many-to-many

我正在研究配方数据库项目的多对多关系,我正在学习php / mysql。

食谱表

recipe_id

成分列表

recipe_id
ingredient_id
amount

成分表

ingredient_id
ingredient_name

用户是将成分名称输入html表单的用户。它们不是我预先输入数据库的。

我的问题是,如何查询数据库以便:
1.)成分的名称输入成分表(仅当它尚不存在时)
2.)还将其插入正确的配方列表中以获得正确的配方?

我必须在这里遗漏一些方面,这将使我对这个概念“点击”。我认为,至少,我的表是正确的。

1 个答案:

答案 0 :(得分:0)

最好通过在事务中运行多个查询来解决这个问题。

  1. 检查成分是否存在(或在成分名称上添加唯一索引并在插入时捕获错误,如果它是重复的)
  2. 插入成分
  3. 插入成分表
  4. 提交交易