Sql Oracle此列列表没有匹配的唯一键或主键
似乎找不到任何方法来解决这个问题。。。有人能帮忙吗?我需要尽快完成任务。我事先还有一些代码,但我似乎找不到任何问题:?错误信息非常清楚。对于表中定义的每个外键,引用的表列必须是Sql Oracle此列列表没有匹配的唯一键或主键,sql,database,oracle,foreign-keys,create-table,Sql,Database,Oracle,Foreign Keys,Create Table,似乎找不到任何方法来解决这个问题。。。有人能帮忙吗?我需要尽快完成任务。我事先还有一些代码,但我似乎找不到任何问题:?错误信息非常清楚。对于表中定义的每个外键,引用的表列必须是唯一的或主键 因此,您希望确保以下所有表列都符合此要求: Error starting at line : 25 in command - CREATE TABLE Note ( Note_ID NUMBER, Engineer_ID NUMBER, Project_ID NUMBER, B
唯一的
或主键
因此,您希望确保以下所有表列都符合此要求:
Error starting at line : 25 in command -
CREATE TABLE Note (
Note_ID NUMBER,
Engineer_ID NUMBER,
Project_ID NUMBER,
Bug_ID NUMBER,
Bug_Name varchar2(30),
CONSTRAINT Note_PK PRIMARY KEY (Note_ID),
FOREIGN KEY (Engineer_ID) REFERENCES Engineer(Engineer_ID),
FOREIGN KEY (Project_ID) REFERENCES Project(Project_ID),
FOREIGN KEY (Bug_ID) REFERENCES Bug(Bug_ID),
FOREIGN KEY (Bug_Name) REFERENCES Bug(Bug_Name)
)
Error report -
ORA-02270: no matching unique or primary key for this column-list
02270. 00000 - "no matching unique or primary key for this column-list"
*Cause: A REFERENCES clause in a CREATE/ALTER TABLE statement
gives a column-list for which there is no matching unique or primary
key constraint in the referenced table.
*Action: Find the correct column names using the ALL_CONS_COLUMNS
catalog view
很可能,问题出在列
Bug_Name
;我猜这些信息在功能上取决于外键已经引用的Bug\u ID
:如果是这样,那么您就不需要将其存储在Note
表中(您可以通过Bug\u ID
外键来访问它)。所以我不能使用外键?或者我该如何实际写出它。。。还是不太清楚你的意思,对不起…@ChrisLloyd:问题在于Bug\u Name
。它既不是唯一的,也不是表Bug
中的主键。您不应该将该信息存储在Notes
表中(请参阅我的更新答案)。只需尝试从中删除Bug\u名称。。。仍然是相同的错误代码。别担心,修复了它哈哈。表中的信息比我想要的少,但谢谢你的帮助!救生员
Engineer(Engineer_ID)
Project(Project_ID)
Bug(Bug_ID)
Bug(Bug_Name)