【问题标题】:MySQL best approach to having one table tied to multiple tables?MySQL将一个表绑定到多个表的最佳方法?
【发布时间】:2013-11-05 15:47:04
【问题描述】:

我不太确定如何表达我的问题,但就是这样。

假设我有多个表,dogscatsbirds。他们每个人都有与他们相关的uploads。每个人都可以有很多,所以我想最好是在自己的桌子上。

哪种方法更好?

  1. 一个uploads 表,for 占据表(比如dogs),for_id 引用该列的 id
  2. 单个 uploads 表,其中包含 dogs_idcats_idbirds_id 列,其中一个用相对 id 填充
  3. 多个表,命名为uploads_dogsuploads_catsuploads_birds

或者也许有更好的方法?

谢谢!

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以使用具有类型 ID(鸟类 = 1、猫 = 2 等)和包含猫/鸟/狗 ID 的对象 ID 列的单个上传表。因此,当您想查找给定猫的所有上传内容时:

        SELECT * FROM uploads WHERE typeId = 2 AND objectId = [catId]
    

    【讨论】:

      猜你喜欢
      • 2018-02-25
      • 1970-01-01
      • 2017-12-08
      • 2012-09-22
      • 1970-01-01
      • 2011-01-25
      • 2011-10-09
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多