2013-10-06 22 views
12

Ogni volta che provo a immettere dati nel mio gruppo, viene visualizzato il messaggio di errore # 1054 - Colonna sconosciuta "FK_Customer_ID" in "elenco campi". Ho provato a rompere il mio codice e nel fare questo ho trovato che l'errore è ripetuto per FK_Customer_ID e OrderQuantity mentre FK_DVD_ID ci vorranno voci di dati singoli. Ho provato a rilasciare il tavolo e ricrearlo, ho abbandonato il database e l'ho ricreato ma non funziona nulla. Per quanto posso dire che il mio codice è corretto insieme al mio spelling quindi sono davvero bloccato.Errore MySQL n. 1054 - Colonna sconosciuta in "Elenco campi"

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

I dati che sto cercando di mettere in è-

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 sta affrontando -

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 sta affrontando -

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

Qualsiasi aiuto nel risolvere il problema sarà molto apprezzato in quanto mi aiuterà con la lezione di calcolo A2!

+0

Utilizzare phpmyadmin per creare le tabelle incluse le contraffazioni di chiave esterna e confrontare cos'hai ottenuto. – Tarik

risposta

19

Si è verificato un errore nella colonna OrderQuantity. È denominato "OrderQuantity" nell'istruzione INSERT e "OrderQantity" nella definizione della tabella.

Inoltre, non penso che sia possibile utilizzare NOW() come valore predefinito in OrderDate. Provare a utilizzare il seguente:

OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 

Example Fiddle

1

ho avuto questa aswell errore.

Sto lavorando in mysql workbench. Quando si danno i valori devono essere all'interno di "". Questo l'ha risolto per me.

Problemi correlati