2013-10-06 15 views
12

Immer wenn ich versuche, Daten in meine Tbloder eingeben, bekomme ich die Fehlermeldung # 1054 - Unbekannte Spalte 'FK_Customer_ID' in 'Feldliste'. Ich habe versucht, meinen Code zu brechen, und dabei habe ich festgestellt, dass der Fehler für FK_Customer_ID und OrderQuantity wiederholt wird, während FK_DVD_ID einzelne Dateneinträge nimmt. Ich habe versucht, den Tisch fallen zu lassen und neu zu erstellen, ich habe die Datenbank gelöscht und neu erstellt, aber nichts funktioniert. Soweit ich das beurteilen kann, stimmt mein Code mit meiner Schreibweise überein und ich bin wirklich festgefahren.MySQL Fehler # 1054 - Unbekannte Spalte in 'Feldliste'

Mein tblorder ist-

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

Die Daten, die ich in 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 zu setzen versuche Adressierung -

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 Adressierung -

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

Jede Hilfe bei der Reparatur wird sehr geschätzt, da sie mir bei meiner A2-Computer-Lektion hilft!

+0

Verwenden Sie phpmyadmin, um Ihre Tabellen einschließlich der Fremdschlüssel-Contraints zu erstellen und vergleichen Sie, was Sie bekommen haben. – Tarik

Antwort

19

Sie haben einen Fehler in Ihrer OrderQuantity-Spalte. Es wird in der INSERT-Anweisung "OrderQuantity" und in der Tabellendefinition "OrderQantity" genannt.

Auch glaube ich nicht, dass Sie NOW() als Standardwert in OrderDate verwenden können. Versuchen Sie Folgendes zu verwenden:

OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

Example Fiddle

1

Ich hatte diesen Fehler ebenfalls.

Ich arbeite in MySQL Workbench. Wenn sie die Werte angeben, müssen sie in "" sein. Das hat es für mich gelöst.

Verwandte Themen