请在判断之前记住,我不明白这就是我问这个问题的原因。我对过去发生的一些反对票感到沮丧。
我必须在 Oracle 10g 中创建一个数据库,并且我正在使用模板来创建一个新表。该数据库是关于一个虚构的 facebook 应用程序。
除其他外,它包括具有 3 个属性的关系“喜欢”,所有这些属性都应该是键:
like:
username: key
message_author: key
message_code: key
正如我所说的那样,是两个实体用户和消息之间的关系。
我尝试将表设置为连接到其他表的 3 个外键,但 oracle 不会接受它。
我收到以下错误消息:
创建 FK like_FK2 失败 ORA-02270: 此列列表没有匹配的唯一键或主键
ORA-00942: 表或视图不存在
ORA-06510: PL/SQL: 未处理的用户定义异常
我想我的钥匙做错了,但我不明白它是什么
SQL 命令:
CREATE table "ΑΡΕΣΕΙ" (
"ΟΝΟΜΑΧΡΗΣΤΗ" VARCHAR2(30) NOT NULL,
"ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ" VARCHAR2(30) NOT NULL,
"ΚΩΔΜΗΝΥΜΑΤΟΣ" NUMBER NOT NULL
)
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK"
FOREIGN KEY ("ΟΝΟΜΑΧΡΗΣΤΗ")
REFERENCES "ΧΡΗΣΤΗΣ" ("ΟΝΟΜΑΧΡΗΣΤΗ")
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK2"
FOREIGN KEY ("ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ")
REFERENCES "ΜΗΝΥΜΑ" ("ΣΥΓΦΕΑΣ_ΜΗΝΤΟΣ")
/
ALTER TABLE "ΑΡΕΣΕΙ" ADD CONSTRAINT "ΑΡΕΣΕΙ_FK3"
FOREIGN KEY ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
REFERENCES "ΜΗΝΥΜΑ" ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
/
alter table "ΑΡΕΣΕΙ" add
constraint ΑΡΕΣΕΙ_UK1
unique ("ΚΩΔΜΗΝΥΜΑΤΟΣ")
/