2013-10-06 76 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列中有錯誤。它被命名爲在表定義在INSERT語句「OrderQuantity」和「OrderQantity」。

此外,我不認爲您可以使用NOW()作爲OrderDate中的默認值。嘗試使用以下命令:

OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

Example Fiddle

1

我有這個錯誤以及。

我正在使用mysql工作臺。當給出值時,他們必須在「」中。這爲我解決了它。

相關問題