web-dev-qa-db-fra.com

Erreur MySQL # 1054 - Colonne inconnue dans la 'Liste des champs'

Chaque fois que j'essaye d'entrer des données dans mon tblorder, j'obtiens le message d'erreur # 1054 - Colonne inconnue 'FK_Customer_ID' dans la 'liste des champs'. J'ai essayé de décomposer mon code et, ce faisant, j'ai constaté que l'erreur se répétait pour FK_Customer_ID et OrderQuantity tandis que FK_DVD_ID, il prendrait des entrées de données uniques. J'ai essayé de supprimer la table et de la recréer, j'ai supprimé la base de données et l'ai recréée mais rien ne fonctionne. Pour autant que je sache, mon code est correct ainsi que mon orthographe, donc je suis vraiment coincé.

Mon tblorder est-

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

Les données que j'essaye de mettre sont-

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

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

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

Toute aide pour réparer le sera grandement appréciée car elle m'aidera dans ma leçon d'informatique A2!

14
user2852418

Vous avez une erreur dans votre colonne OrderQuantity. Il est nommé "OrderQuantity" dans l'instruction INSERT et "OrderQantity" dans la définition de la table.

De plus, je ne pense pas que vous puissiez utiliser NOW() comme valeur par défaut dans OrderDate. Essayez d'utiliser les éléments suivants:

 OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

Exemple de violon

22
Salem

J'ai également eu cette erreur.

Je travaille dans l'établi mysql. Pour donner les valeurs, ils doivent être à l'intérieur de "". Cela m'a résolu.

1
Lealo