sql中两个表之间的多对多关系?

时间:2018-06-07 15:05:58

标签: mysql sql

我有两个表tbl_user和tbl_favItems如下所示:

 +-----+----------+          +-----+----------+
 |  ID |   Name   |          | ID  |   Name   |
 +-----+----------+          +-----+----------+ 
 |  1  |  Johan   |          |  1  |  Movies  |
 |  2  |  Peter   |          |  2  |  Food    |
 |  3  |  Kevin   |          |  3  |  Mobiles |
 |  4  |  Harry   |          |  4  |  Sports  |
 +-----+----------+          +-----+----------+
     User Table                 Fav. Table

这里我需要一些逻辑:假设Johan可以拥有。 Movies, MobilesPeter可以有优惠。 Food, Mobiles, Sports。等;.在这种情况下,如何在表格中将fav.ID 1,3Johanfav.ID 2,3,4Peter相关联?有可能吗?

我需要一些线索才能继续前进。提前谢谢。

1 个答案:

答案 0 :(得分:6)

这看起来像你的表之间的many to many关系,要关联你的表引入了一个联结表,它将保存这两个表的引用,如

user_favourites

user_id(表1的pk)

item_id(表2中的pk)

此表中的数据将类似于

user_id item_id
1        1
1        3
2        2
2        3
2        4

Associative entity