背景信息

我有一个包含两个表的数据库: PhonesCarriers
电话 -> 运营商
Phones(主键:Phones.ID;外键:Phones.CarrierID)链接到
Carriers(主键:Carriers.ID;外键:Carriers.RegionID)。
Phones.CarrierIDCarriers.ID 的数据类型都是 bigint。对不起,如果这令人困惑!

问题

我的 Phones 表中有一条记录,名为 Nokia Lumia 1020。我需要能够通过 Phones.CarrierID 列将其链接到 Carriers 表中的多个记录。如果不在 Phones 表中为诺基亚 Lumia 1020 创建多个记录,我将如何执行此操作?

最佳答案

你有一个多对多的关系。通常这是通过在两个数据表之间添加一个表来实现的:

Phones -> PhoneCarriers -> Carriers
PhoneCarrier 将类似于:
PhoneCarrierID
PhoneID (FK)
CarrierID (FK)

在这种情况下,您不会直接从 PhoneCarrier 拥有外键。

关于sql - 将一条记录链接到单独表中的多条记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18904109/

10-11 08:00