Sql 此列列表没有匹配的唯一键或主键。我不知道如何解决我的案子

Sql 此列列表没有匹配的唯一键或主键。我不知道如何解决我的案子,sql,oracle,oracle-apex,create-table,oracle-apex-5,Sql,Oracle,Oracle Apex,Create Table,Oracle Apex 5,我一直在尝试在数据库中创建此表。我们被告知使用Oracle Apex创建数据库。所以我不断地得到这个我无法解决的错误: 如果删除代码的最后一行,它将创建一个没有任何错误的表。 以下是此处引用的其他表格的屏幕截图: 公司表 分支表 IDK如果这是一个新手犯的错误,我只在大约一个小时内学会了apex/sql,然后就开始制作数据库。谢谢你帮助我!:) 外键引用的列在源表中必须具有唯一索引(或者它们必须是该表的主键)。您的代码因以下外键声明而失败,其中目标不是唯一的: foreign key (B

我一直在尝试在数据库中创建此表。我们被告知使用Oracle Apex创建数据库。所以我不断地得到这个我无法解决的错误:

如果删除代码的最后一行,它将创建一个没有任何错误的表。 以下是此处引用的其他表格的屏幕截图:

公司表

分支表

IDK如果这是一个新手犯的错误,我只在大约一个小时内学会了apex/sql,然后就开始制作数据库。谢谢你帮助我!:)

外键引用的列在源表中必须具有唯一索引(或者它们必须是该表的主键)。您的代码因以下外键声明而失败,其中目标不是唯一的:

foreign key (BranchNo) references Branch(BranchNo)
在这里,我认为您需要一个引用分支的主键的复合外键,而不是两个不同的键<代码>分支机构(CCode)已经引用了
公司(CCode)
,因此无需将该关系放入
设备
表中

create table Equipment(
    CCode int,
    BranchNo int,
    EquipNo it,
    Description varchar2(50),
    NumberOfEquip int,
    primary key(CCode, BranchNo, EquipNo),
    foreign key (CCode, BranchNo) references Branch(CCode, BranchNo)
);
外键引用的列在源表中必须具有唯一索引(或者它们必须是该表的主键)。您的代码因以下外键声明而失败,其中目标不是唯一的:

foreign key (BranchNo) references Branch(BranchNo)
在这里,我认为您需要一个引用分支的主键的复合外键,而不是两个不同的键<代码>分支机构(CCode)已经引用了
公司(CCode)
,因此无需将该关系放入
设备
表中

create table Equipment(
    CCode int,
    BranchNo int,
    EquipNo it,
    Description varchar2(50),
    NumberOfEquip int,
    primary key(CCode, BranchNo, EquipNo),
    foreign key (CCode, BranchNo) references Branch(CCode, BranchNo)
);

请不要张贴代码或错误消息的图像-它们很难阅读。相反,请复制代码或消息,并将其包含在您的问题中。谢谢。好吧,对不起,第一次发帖子时,我会确保不会在其他帖子中使用图片。谢谢,请不要发布代码图像或错误消息-它们很难阅读。相反,请复制代码或消息,并将其包含在您的问题中。谢谢。好吧,对不起,第一次发帖子时,我会确保不会在其他帖子中使用图片。谢谢你,非常感谢!非常感谢你!