2017-01-06 5 views
1

Я получаю эту ошибку при создании таблицы «Oracle (ORA-02270): нет соответствующего уникального или первичного ключа для этой ошибки в столбце». Это первый раз, когда вы создавали таблицы, но Ive создал таблицу, позволяющую сказать заказ клиента, который имеет первичный ключ идентификатора клиента и идентификатора продукта.ОШИБКА при обращении к внешнему ключу в таблице

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

Так это таблица я orginially создал, однако мне нужно создать новую таблицу, которая ссылается на идентификатор клиента и идентификатор продукта из этой таблицы. Когда я это сделаю, я получаю эту ошибку. Вот пример таблицы я пытаюсь создать:

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

ответ

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

Благодаря работал отлично – jsg

Смежные вопросы