背景信息
我有一个包含两个表的数据库: Phones
和 Carriers
电话 -> 运营商Phones
(主键:Phones.ID
;外键:Phones.CarrierID
)链接到Carriers
(主键:Carriers.ID
;外键:Carriers.RegionID
)。Phones.CarrierID
和 Carriers.ID
的数据类型都是 bigint。对不起,如果这令人困惑!
问题
我的 Phones 表中有一条记录,名为 Nokia Lumia 1020。我需要能够通过 Phones.CarrierID
列将其链接到 Carriers 表中的多个记录。如果不在 Phones
表中为诺基亚 Lumia 1020 创建多个记录,我将如何执行此操作?
最佳答案
你有一个多对多的关系。通常这是通过在两个数据表之间添加一个表来实现的:
Phones -> PhoneCarriers -> Carriers
PhoneCarrier
将类似于:PhoneCarrierID
PhoneID (FK)
CarrierID (FK)
在这种情况下,您不会直接从
Phone
到 Carrier
拥有外键。关于sql - 将一条记录链接到单独表中的多条记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18904109/