gpt4 book ai didi

sql - 同时使用外键和主键

转载 作者:行者123 更新时间:2023-12-04 12:14:03 25 4
gpt4 key购买 nike

我正在尝试创建表(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

问题是什么?

最佳答案

从代码的变体开始:

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)
);

您在 PFOrder_ID NUMBER(3) 后面缺少一个逗号之后 PFPoduct_ID NUMBER(3) .
CREATE TABLE OrderDetails2
(
PFOrder_ID NUMBER(3),
PFProduct_ID NUMBER(3),
CONSTRAINT PF PRIMARY KEY (PFOrder_ID, PFProduct_ID),
CONSTRAINT FK_1 FOREIGN KEY (PFProduct_ID) REFERENCES Product(Product_ID),
CONSTRAINT FK_2 FOREIGN KEY (PFOrder_ID) REFERENCES Orderr(Order_ID)
);

PRIMARY KEY 子句必须与 PFProduct_ID 列分开,因为它是一个复合键。 ( Orderr 是否拼写正确?)还有 PFProudct_ID在原文是不正确的。如果您是一名程序员,您必须能够始终如一地拼写(即使在更广泛的写作意义上不正确)。

关于sql - 同时使用外键和主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4535299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com