MySQL数据库字段关于文章栏目的设计

我们有个新闻类的APP,里面有新闻和视频的栏目,还是对应网站的栏目,这些栏目都是不一样的,预想中一篇文章或者一个视频都放在一张表中,栏目页放在一张表中。其中:

1.栏目表用一个字段区别栏目是网站的,还是APP视频的,还是APP新闻的。
2.内容表中用一个字段区别是视频还是新闻。
menu栏目表可能如下:
图片描述

其中内容表(content)的一条新闻可以同时属于多个栏目,比如同时属于APP新闻栏目的“热点”栏目和网站栏目“国外”栏目,那我在content表中该用什么样的设计比较合适呢,要便于管理和后期检索
content表可能如下:
图片描述

现在我的content要加个什么样的字段才能表明我的某一条新闻或者视频是属于哪个栏目(可能同时属于多个栏目)的呢,预想中可能有一个varchar的字段channel,比如保存的值为“1,3,5”表明它属于1,3,5这几个栏目,可是这样的话,对于后期的检索可能不太方便,因为content经常要检索,也只能用like模糊查找,大家有什么好的主意吗,谢谢指教!

阅读 3.5k
2 个回答

如果不是只让用两张表的话,多对多的关系正常操作应该是另放一张表存。
比如加个tag表,对menu.idcontent.id建立关系。

这样在使用的时候多做一步表连接即可

可以使用位元来表达,一个int就能表达32个栏目,
例如

SELECT * FROM content WHERE `type`=POW(2,0)|POW(2,2)

可以查出属于1,3栏目的新闻

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题