MySQL将一个表绑定到多个表的最佳方法是什么?

时间:2013-11-05 15:47:04

标签: mysql

我不太确定如何说出我的问题,但现在就是这样。

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

哪种方法更好?

  1. 一个uploads表,其中for占用了该表(例如dogs),而for_id引用了该列的ID
  2. 一个uploads个表,其中包含dogs_idcats_idbirds_id列,其中一列填充了相对ID
  3. 多个表,名为uploads_dogsuploads_catsuploads_birds
  4. 或许还有更好的appraoch?

    谢谢!

1 个答案:

答案 0 :(得分:2)

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

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