【问题标题】:ERROR when referencing foreign key in table引用表中的外键时出错
【发布时间】:2017-01-06 23:56:51
【问题描述】:

创建表时出现此错误“Oracle (ORA-02270):此列列表错误没有匹配的唯一键或主键”。 这是第一次创建表,但是我创建了一个表,比如说客户订单,它的主键是客户 ID 和产品 ID。

create table customer_order(
    customerID NUMBER(8),
    productID Number(8),
    PRIMARY KEY (customerID, productID),
    FOREIGN KEY (customerID) REFERENCES Customer (customerID),
    FOREIGN KEY (productID) REFERENCES Product (productID));

所以这是我最初创建的表,但是我需要创建一个引用该表中的客户 ID 和产品 ID 的新表。当我这样做时,我会收到此错误。这是我正在尝试创建的表的示例:

create table purchase_order(
    ID Number(8) PRIMARY KEY,
    ProductId Number(8),
    CustomerID Number(8),
    FOREIGN KEY (customerID) REFERENCES customer_order (customerID),
    FOREIGN KEY (productID) REFERENCES customer_order (productID));

【问题讨论】:

    标签: sql oracle foreign-keys


    【解决方案1】:

    主键是复合,所以需要同时引用:

    create table purchase_order(
        ID Number(8) PRIMARY KEY,
        ProductId Number(8),
        CustomerID Number(8),
        FOREIGN KEY (customerID, ProductId) REFERENCES customer_order(customerID, productId)
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多