2013-10-06 4 views
12

Всякий раз, когда я пытаюсь ввести данные в свой tblorder, я получаю сообщение об ошибке # 1054 - Неизвестный столбец «FK_Customer_ID» в «списке полей». Я попытался сломать свой код, и при этом я обнаружил, что ошибка повторяется для FK_Customer_ID и OrderQuantity, тогда как FK_DVD_ID - для ввода отдельных данных. Я попытался сбросить таблицу и воссоздать ее, я сбросил базу данных и воссоздал ее, но ничего не работает. Насколько я могу судить, мой код верен вместе с моей орфографией, поэтому я действительно застрял.Ошибка MySQL # 1054 - Неизвестный столбец в поле «Список полей»

Мой tblorder

это-
CREATE TABLE tblorder 
( 
Order_ID INT AUTO_INCREMENT NOT NULL, 
FK_Customer_ID INT NOT NULL, 
FK_DVD_ID INT NOT NULL,  
OrderDate DATETIME NOT NULL DEFAULT NOW(), 
OrderQantity INT NOT NULL, 
PRIMARY KEY (Order_ID),  
FOREIGN KEY (FK_Customer_ID) REFERENCES tblcustomer (Customer_ID), 
FOREIGN KEY (FK_DVD_ID) REFERENCES tbldvd (PK_ID) 
); 

данные, которые я пытаюсь поставить в

IS-
INSERT INTO tblorder 
(FK_Customer_ID, FK_DVD_ID, OrderQuantity) 
VALUES 
(1, 3, 2), 
(1, 5, 1), 
(1, 10, 4), 
(1, 15, 3), 
(2, 5, 4), 
(2, 17, 3), 
(3, 15, 1), 
(3, 16, 1), 
(3, 17, 1); 

FK_Customer_ID адресует -

CREATE TABLE tblcustomer 
(
Customer_ID INT AUTO_INCREMENT NOT NULL, 
FirstName VARCHAR(50) NOT NULL, 
LastName VARCHAR(50) NOT NULL, 
Age INT NOT NULL, 
PRIMARY KEY (Customer_ID) 
); 

FK_DVD_ID адресует -

CREATE TABLE tblDVD 
(
PK_ID INT AUTO_INCREMENT NOT NULL, 
Title VARCHAR(100) NOT NULL, 
DIrector VARCHAR(100) NOT NULL, 
Genre VARCHAR(40) NOT NULL, 
dvd_Year YEAR NOT NULL, 
Price FLOAT(2) NOT NULL, 
Quantity INT NOT NULL, 
PRIMARY KEY (PK_ID) 
); 

Любая помощь в исправлении будет принята с благодарностью, поскольку она поможет мне с моим уроком по вычислительной технике A2!

+0

Используйте phpmyadmin для создания ваших таблиц, в том числе внешних ключей и сравните их с тем, что у вас есть. – Tarik

ответ

19

У вас есть ошибка в столбце OrderQuantity. Он называется «OrderQuantity» в инструкции INSERT и «OrderQantity» в определении таблицы.

Кроме того, я не думаю, что вы можете использовать NOW() в качестве значения по умолчанию в OrderDate. Попробуйте использовать следующее:

OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

Example Fiddle

1

У меня была Aswell ошибки.

Я работаю в workbench mysql. При задании значений они должны находиться внутри «». Это решило это для меня.

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