【问题标题】:Looking for simple ideas on how mysql data is usually structured寻找关于 mysql 数据通常如何构造的简单想法
【发布时间】:2011-09-08 03:24:45
【问题描述】:

我正在玩这个想法,我将“日志”保存在“LOGS”表中,每一行都包含“id”“title”“logtext”“views”“upvotes”“downotes”等信息...你明白了基本的想法。这一切都非常适合在页面上显示日志,并且所有这些都在一个漂亮而干净的表格中完成。

但后来我决定尝试在这些日志上添加 cmets。与“LOGS”表中的行一起在数据库中创建一个全新的表是否也是典型的......让我们说id然后该表可以包含评论信息?例如姓名电子邮件文本?我只是认为最终拥有数千张桌子会有点疯狂……在它们实际上只是一张桌子中的行之前。

然后我将要使用的 cron 问题将在一个月后根据行中的时间戳删除腿……但表上没有时间戳,所以我不能告诉它要使用哪些表删除。

我不熟悉“blob”,有一种方法可以将所有 cmets 放入一个单元格中吗?

【问题讨论】:

  • blob 通常用于二进制存储,例如图像。所以是的,我会将文本存储在文本字段中,而不是二进制字段中。

标签: php mysql database database-design cron


【解决方案1】:

我认为您要达到的目标是这样的:

TABLE LOGS
| logid | title | views | ...

TABLE COMMENTS
| comid | logid | author | comment | ...

然后,每当您获取特定日志以进行显示时,您还可以继续获取该日志上的任何 cmets~ 同样,每当您从 LOGS 删除时,请务必同时从 COMMENTS 删除~

如果您真的希望所有内容都在一个表中,我建议将 PHP 的 cmets 数组 json_encoding 到 TEXT 类型 cmets 字段中。

【讨论】:

    【解决方案2】:

    我会有一个分隔的文本字段(可能使用分号或钟形字符,在普通文本中不经常使用的东西)来分隔,然后从前端组合不同的文本字段,并在名为 user_info 或 cmets 的数据库或其他数据库

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 2011-10-18
      相关资源
      最近更新 更多