感觉segmentfault站点设计的标签还是很不错的,正在写一个博客平台,想做个文章标签,现在表设计如下:
文章表(articles)
| id | title | tags |
|---|---|---|
| 1 | xxx | 1,3,4 |
| 2 | aaa | 2,4 |
| 3 | bbb | 3,5 |
标签表(tags)
| id | name |
|---|---|
| 1 | php |
| 2 | javascript |
| 3 | mysql |
| 4 | css3 |
| 5 | html5 |
假如信息结构如上面,那么怎么取出每篇文章的详细信息呢?上面的表设计可以实现吗?
我查了下本站的相关问题,有人说再加入第三章标签文章关联表,如下面
标签关联表(tag_links) tid是tags表id,aid是文章articles表id
| id | tid | aid |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 3 | 1 |
| 2 | 4 | 1 |
那么这个有怎么查出文章的详细信息呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
一般的按照下面的方式来建表的,查询详细信息的话,你可以先根据文章的id文章表里面查文章的一些信息,然后再根据文章id去标签表和文章标签关联表join查询出,标签数据,最后把这两个数组合并下就好了。
有点小小的建议:你可以把文章表进行水平分割下,你可以把内容字段拿出来单独做一张表,用id进行关键,这样做在数据量很大的时候,效率比较好,
这些是我的个人看法,有不对的地方,还望大神们指点
我也刚好在写博客,也遇到了这个问题,3个表关联,现在sql语句遇到了问题
求大兄弟的Sql语句