Подтвердить что ты не робот

Ошибка MySQL # 1054 - Неизвестный столбец в поле "Список полей"

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

Мой 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)
);

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

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!

4b9b3361

Ответ 1

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

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

 OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

Пример скрипта

Ответ 2

У меня тоже была эта ошибка.

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