我有两个表-'business'和'business_contacts'。

business_contact表与业务表具有多对一关系。此外,每个企业都有一个“主要联系人”字段-我假设它与business_contacts表是一对多关系。

当然,问题在于这会导致数据插入的catch 22。由于这两个字段都不能为空,因此在拥有对应的业务之前,我无法插入business_contact,但是在拥有对应的business_contact之前,我无法插入业务。

如果有人可以帮助我解决应该如何处理一对多的相互关系,我将非常感激。

(如果有任何区别,请在MySQL中完成项目)

最佳答案

您可以从业务表中删除“主要联系人”,然后将其移至business_contact表:

 business
  - business_id
  - name
  - address
  - blah

 business_contact
  - business_contact_id
  - business_id
  - is_primary_contact (bit field)

因此,确定企业的主要联系人将变为:
SELECT * FROM business_contact
WHERE business_id = <somevalue> AND is_primary_contact = 1

关于mysql - 表A-> B上的外键,表B-> A上的外键。这是怎么做的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2881281/

10-12 07:38