对于我正在学习php/mysql的配方数据库项目,我有一个多对多的关系。
食谱表
recipe_id
配料表
recipe_id
ingredient_id
amount
配料表
ingredient_id
ingredient_name
用户是在html表单中输入成分名称的人。它们不是我预先输入到数据库中的。
我的问题是,如何查询数据库以便:
1.)配料表中输入了配料的名称(仅当该名称不存在时)
2.)也将其插入正确配方的正确配料表中?
我一定遗漏了一些方面,这些方面会让这个概念对我来说很有吸引力。我认为,至少,我的表是正确的。
这最好通过在事务中运行多个查询来解决。
- 检查成分是否存在(或者在成分名称上添加唯一索引,如果重复,则在插入时捕捉错误)
- 插入配料
- 插入配料表
- 提交事务