需要一个recipes表和categories表,以便一个配方可以有多个类别

r8uurelv  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我正在做一个网站,其中存储在mysql数据。
现在的情况是,我想要一个结构,其中应该有一个带有catogories(cat\u id,cat\u name)的表和一个recipe表(r\u id,r\u name等等)。但条件是一个菜谱可以有多个类别,我必须通过php展示所有属于一个类别的菜谱。
我只需要一个合适的结构。
我是dbms的新手。我们将不胜感激。

dtcbnfnu

dtcbnfnu1#

您可以向数据库架构中添加连接表,如下所示:

category_recipe (cat_id, r_id)

此表的目的是允许给定的类别Map到多个配方。如果您还希望强制每个配方只能出现一次,则可以在 r_id 中的列 category_recipe .
要查找属于某一类别的所有配方,可以使用以下查询:

SELECT
    r.r_id, r.r_name
FROM categories c
INNER JOIN category_recipe cr
    ON c.cat_id = cr.cat_id
INNER JOIN recipe r
    ON cr.r_id = r.r_id
WHERE
    c.cat_name = 'some category';

相关问题