我最近一直在读外键和加入,并且令人惊喜的是,许多基本概念都是我已经付诸实践的东西.例如,我正在处理一个项目,我正在组织单词列表,并有一个表集,如下所示:
`words` Table
`word_id`
`headword`
`category_id`
`categories` Table
`category_id`
`category_name`
Run Code Online (Sandbox Code Playgroud)
现在,一般来说,这将是一对多的关系,其中几个单词与外键一起放在单个类别下category_id.让我们假设了一下,但是,用户选择另一类别添加到一个字,使其多到很多,有没有办法设置我的words表来处理其他类别的话不会产生像额外的列category_2,category_3,等等.?
cid | category
1 | desserts
2 | cakes
3 | biscuits
Run Code Online (Sandbox Code Playgroud)
id | recipe_name | cid | iid
1 | black forest cake | 1,2 | 1,2,3,4
2 | angel cake | 2 | 1,2,4
3 | melting moments | 3 | 2,5
4 | croquembouche | 1,3 | 1,5
Run Code Online (Sandbox Code Playgroud)
iid | ingredient_name
1 | self-raising flour
2 | milk
3 | chocolate
4 | baking powder
5 | plain flour
Run Code Online (Sandbox Code Playgroud)
我能够使用cid拉取某些食谱来查询数据库,即.甜点:
SELECT * …Run Code Online (Sandbox Code Playgroud)