Live2d Test Env

[转]Mysql连表之多对多

转自

连表多对多

可以理解成一夫多妻和一妻多夫。

男人表:

nid name
1 xxx
2 yyy
3 zzz

女人表:

nid name
1 aaa
2 bbb
3 ccc

要让两个表建立关系,可以使用外键,为每个表增加一列进行互相绑定,让他们互相约束。

但是,这样做并不理想,毕竟要修改表。

 

一般这样的条件,会再单独创建一个表,然后表里面有2个数据和2个表的id分别关联。这表可以叫关系表。

做法
在关系表上设置2个外键,分别与对应的男表和女表进行关联。

nid man_id women_id
1 1 3
2 3 1
3 2 2

说明:

在关系表上设置两个外键,让man_id对应男人表中的nid,women_id对应女人表中的nid,这样通过单独设置一个表就将两个表联系起来。

 

例子中多对多的理解:

男人表中的每个数据可以对应女人表中多个数据,同时女人表中的每个数据也可以对应男人表中的多个数据。

 

posted @ 2018-08-10 00:10  麦奇  阅读(897)  评论(0编辑  收藏  举报