2013-10-06 7 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) 
); 

डेटा मैं है-

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

इच्छा को ठीक करने में कोई भी मदद की सराहना की जाएगी क्योंकि इससे मुझे मेरे ए 2 कंप्यूटिंग सबक में मदद मिलेगी!

+0

विदेशी कुंजी की बाधाओं सहित अपनी टेबल बनाने के लिए phpmyadmin का उपयोग करें और जो मिला वह तुलना करें। – Tarik

उत्तर

19

आपको अपने ऑर्डरक्वैंटिटी कॉलम में कोई त्रुटि है। इसे तालिका परिभाषा में INSERT कथन और "ऑर्डर क्वांटिटी" में "ऑर्डरक्वैंटिटी" नाम दिया गया है।

इसके अलावा, मुझे नहीं लगता कि आप ऑर्डरडेट में डिफ़ॉल्ट मान के रूप में NOW() का उपयोग कर सकते हैं। निम्नलिखित का उपयोग करने का प्रयास करें:

OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

Example Fiddle

1

मैं यह त्रुटि रूप में अच्छी तरह था।

मैं mysql workbench में काम कर रहा हूं। मूल्यों को देते समय उन्हें "" होना चाहिए। यह मेरे लिए हल हो गया।

संबंधित मुद्दे