MySQL如何找到表与表之间的关系?

时间:2022-06-18 09:53:22

如何找到两张表之间的关系?

  1. 先站在左表的角度上去找,如果可以找到左表的多个字段可以对应右表的一个字段,那么左表的一个字段foregin key右表的一个字段.一般情况下为id...

2.如果右表的多个字段对应左表的一个字段,那么就是右表的一个字段foreign key 左表的一个字段.

总结 :

  • 一对多
  • 如果只有条件1成立的话,那么就代表左表多对一右表.

  • 反过来亦然,只条件2成立,右表多对一左表

    ***

  • 多对多

  • 如果1和2同时成立的话,那就是双向一对多,也就是多对多.

?????多对多了怎么办?

需要定义一个这两个表的关系表来专门存放这两张表的关系.

  • 一对一

  • 如果上述条件都不成立,那么就是一对一的关系.左表的一条记录对应右表的一条记录. 那么那么在左表foreign key的基础上,将左表的外键字段设置成unique就行.