我想在我的网站上添加类别 - 但排序更复杂。
假设我有文章 a 。现在,我希望 a 属于主要类别 a ,但也希望属于 c ,其父级是 b
我想这样做: 文章将包含主要类别字段,以及 parent_ids
parent_ids 将是此商品所属的每个类别。 我的问题是:假设我有: parent_ids:| 1 | 5 | 2 | 7 | 。
现在我属于类别ID - 7 。
我的选择查询怎么样?
select * from categories where parent_ids LIKE '%|7|%'
效率如何?有更好的主意吗?
答案 0 :(得分:5)
永远不要在一列中存储多个值。规范化数据库中的所有列值都应该是原子的(单值)。
articles
和categories
之间的关系是多对多。这意味着您应该有一个单独的表,例如article_category (article_id, category_id)
,每个文章所包含的每个类别都包含一行。