码迷,mamicode.com
首页 > 数据库 > 详细

Mysql连表之多对多

时间:2016-12-14 07:44:33      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:tab   color   new   targe   idt   target   href   block   bbb   

说明

这里的文章是接着前面 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,这样通过单独设置一个表就将两个表联系起来。

 

例子中多对多的理解:

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

Mysql连表之多对多

标签:tab   color   new   targe   idt   target   href   block   bbb   

原文地址:http://www.cnblogs.com/jayafs/p/6175736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!