同时外键和主键
我正在尝试创建表 (orderdetails2);该表有两个 FK,两个 FK 列上有一个 PK。这是我的代码:
版本 1
create table OrderDetails2 (
PFOrder_ID Number(3) FOREIGN KEY REFERENCES Orderr(Order_ID),
PFProduct_ID Number(3) FOREIGN KEY REFERENCES Product(Product_ID),
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID)
REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID)
REFERENCES Orderr(Order_ID),
版本 2
create table OrderDetails2 (
PFOrder_ID Number(3)
PFProduct_ID Number(3)
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);
我正在使用 Oracle Express。当我运行代码时出现问题。这是(版本 1):
ORA-00907: missing right parenthesis
问题是什么?
I am trying to create table (orderdetails2); the table has two FKs and a PKs on the two FK columns. Here is my code:
Version 1
create table OrderDetails2 (
PFOrder_ID Number(3) FOREIGN KEY REFERENCES Orderr(Order_ID),
PFProduct_ID Number(3) FOREIGN KEY REFERENCES Product(Product_ID),
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID)
REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID)
REFERENCES Orderr(Order_ID),
Version 2
create table OrderDetails2 (
PFOrder_ID Number(3)
PFProduct_ID Number(3)
CONSTRAINT PF PRIMARY KEY (PFOrder_ID,PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProudct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);
I am using Oracle express. A problem pops when I run the code. Here it is (for version 1):
ORA-00907: missing right parenthesis
What is the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从代码变体开始:
您在
PFOrder_ID NUMBER(3)
和PFPoduct_ID NUMBER(3)
之后缺少一个逗号。PRIMARY KEY 子句必须与 PFProduct_ID 列分开,因为它是复合键。 (
Orderr
拼写正确吗?)并且原文中的PFProudct_ID
不正确。如果您是一名程序员,您必须能够一致地拼写(即使在更广泛的写作意义上不正确)。Starting from the variant of the code with:
You are missing a comma after
PFOrder_ID NUMBER(3)
and afterPFPoduct_ID NUMBER(3)
.The PRIMARY KEY clause has to be separate from the PFProduct_ID column because it is a compound key. (Is
Orderr
spelled correctly?) AndPFProudct_ID
in the original is incorrect. If you're a programmer, you have to be able to spell consistently (even if not correctly in the broader sense of writing).将最后一个逗号更改为右括号:
)
。Change the last comma to a close parenthesis:
)
.