多个外键的一个主键

时间:2015-03-23 20:17:30

标签: mysql insert foreign-keys constraints primary-key

我是SQL的新手,所以我很可能会问一个非常明显答案的问题。我正在制作一个简单的电话计划数据库,我的表依次是:

国家/地区,提供商,电话,计划,客户。

它们都有一个主键,除COUNTRY外都有引用上一个表的外键。

将值插入PHONE表时出现问题。这些是PROVIDER和PHONE表:

CREATE TABLE Provider_T(
    Name                VARCHAR(25),
    Provider_ID         CHAR(10)    NOT NULL,
    Country_Abbrev      CHAR(3)     DEFAULT NULL,
    Website             VARCHAR(50) DEFAULT NULL,
    CService_Number     VARCHAR(15) DEFAULT NULL,
    CONSTRAINT Provider_T_PK PRIMARY KEY(Provider_ID),
    CONSTRAINT Country_Abbrev_FK FOREIGN KEY(Country_Abbrev) REFERENCES Country_T(Abbreviation));

CREATE TABLE Phone_T(
    Phone_Model         VARCHAR(25) NOT NULL,
    Provider_ID         CHAR(3)     NOT NULL,
    Smartphone          BOOLEAN,
    CONSTRAINT Phone_Model_PK PRIMARY KEY(Phone_Model),
    CONSTRAINT Provider_ID_FK FOREIGN KEY(Provider_ID) REFERENCES Provider_T(Provider_ID));

这是我对PHONE表的插入:

INSERT INTO Phone_T(Phone_Model, Provider_ID, Smartphone) VALUES ("Nexus 5", "ROG", TRUE);
INSERT INTO Phone_T(Phone_Model, Provider_ID, Smartphone) VALUES ("Nexus 5", "KOD", TRUE);

我知道我有重复的主键,我很难说我如何为多个PROVIDERS制作一个手机型号。我会喜欢一些建议,感谢任何帮助。

0 个答案:

没有答案