mysql - 在 mySQL 中表示新闻帖子

标签 mysql

我目前正在为一家大学新闻机构开发博客。不过,每个帖子都将代表一个完整的节目,有多个贡献者和多个标题。

例如,一篇文章可能包含三个新闻故事,每个故事都有自己的标题和一些贡献者:

  1. (id1) 和 (id2) 的“故事 1”
  2. (id3) 的“故事 2”
  3. (id4) 和 (id5) 的“故事 3”

因此对于每个帖子,每个故事都有一个索引(1、2、3 ...),标题有一个 VARCHAR,代表贡献者的 ID,其详细信息存储在另一个“贡献者”表中.问题是我不知道会有多少故事,或者每个故事会有多少贡献者。它的范围从至少 3 个到最多 6 个。如果我们的节目在未来扩展,我也希望能够扩展到超过 6 个帖子。

我想在 mySQL 列中简洁地表示此结构,但我不确定该怎么做。一种解决方案是创建另一个 mySQL 表来保存每个故事的详细信息,但我更愿意避免这种麻烦。理想的解决方案是,如果我能以某种方式在 mySQL 列中创建一个“数组”,它可以存储(针对每个故事)一个索引、一个字符串和多个 ID,以显示贡献者是谁。

这可能吗,还是我必须创建一个新表来跟踪每个故事?

最佳答案

不要使用列 - 使用表格。它可以是一个简单的 InnoDB 表,它根本不会影响性能。定义组合主键 (story_id, contributor_id) 并将所有贡献插入该表。

您在问题中的名称称为 M:N 表。永远不要去那里 - 这是一件非常糟糕的事情,事实上,在关系数据库中几乎是不可能的。

关于mysql - 在 mySQL 中表示新闻帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315993/

相关文章:

mysql - 我怎样才能从mysql中获取上周、本周和上个月的记录

python - 我如何找到为什么 python 脚本在不同机器上的运行时间明显不同?

php - 如何设置表的优先级?

mysql:按组选择前n条记录的最有效方法

mysql - 不使用窗函数计算组的总和

php图像数据库blob

php - 按钮点击多个动态下拉提交到mysql表

php - CodeIgniter 中的位置文件以便查询数据库

MySql 使用 Select 设置变量

使用连接的 mySQL 查询