2015-11-19 2 views
0

Может кто-то помочь мне с моей ошибкой;Ошибка таблицы ключей в MySQL Синтаксис

-- Create ordered 
CREATE TABLE ordered(
orderID TINYINT UNSIGNED AUTO_INCREMENT, 
total_cost DECIMAL(10,2), 
customerID TINYINT UNSIGNED, 
offercode VARCHAR(15), 
CONSTRAINT ordered_pk PRIMARY KEY (orderID) 
CONSTRAINT ordered_customerID_fk FOREIGN KEY (customerID) REFERENCES customer(customerID) 
    ON UPDATE CASCADE 
CONSTRAINT ordered_offercode_fk FOREIGN KEY (offercode) REFERENCES offer(offercode) 
    ON UPDATE CASCADE 
); 


DESCRIBE ordered; 



-- Create line item 
CREATE TABLE line_item(
item_number TINYINT UNSIGNED, 
orderID TINYINT UNSIGNED, 
quantity TINYINT, 
shipping_amount DECIMAL(6,2) 
CONSTRAINT line_item_pk PRIMARY KEY (item_number, orderID) 
CONSTRAINT line_item_item_number_fk FOREIGN KEY (item_number) REFERENCES item(item_number) 
    ON UPDATE CASCADE, 
CONSTRAINT line_item_orderID_fk FOREIGN KEY (orderID) REFERENCES ordered(orderID) 
    ON UPDATE CASCADE 
    ON DELETE CASCADE 
); 

DESCRIBE line_item; 

Я получаю сообщение об ошибке заказанных таблиц для моего CUSTOMERID внешнего ключа и ошибки на моем line_item столе для моего первичного ключа.

Спасибо!

+0

не то, что может быть только один автоматический столбец, и он должен быть определен как ключ. –

+0

Не знаю, что вы имеете в виду. –

ответ

0

Ваша первая ошибка, потому что customer таблица не существует.

Вторая ошибка, потому что эта линия shipping_amount DECIMAL(6,2), добавьте запятую в конечной shipping_amount DECIMAL(6,2),

Даже думал, что вы будете работать путь от первичного ключа ошибки, Вы будете сталкиваться ошибкой item таблицы, потому что она не существует.

+0

К сожалению, я не добавил, что у меня есть несколько других таблиц, которые здесь не указаны, клиент из них. Таким образом, клиент существует. –

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