web-dev-qa-db-ja.com

MySQLエラー#1054-「フィールドリスト」の不明な列

Tblorderにデータを入力しようとすると、エラーメッセージ#1054-Unknown column 'FK_Customer_ID' in 'field list'が表示されます。私はコードを分解しようとしましたが、これを行うと、FK_Customer_IDとOrderQuantityでエラーが繰り返されますが、FK_DVD_IDでは単一のデータエントリが必要になります。テーブルを削除して再作成しようとしましたが、データベースを削除して再作成しましたが、何も機能しません。私のコードがスペルと一緒に正しいとわかる限り、私は本当に行き詰まっています。

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

A2コンピューティングのレッスンで役立つので、修正にご協力ください。

14
user2852418

OrderQuantity列にエラーがあります。 INSERTステートメントでは「OrderQuantity」、テーブル定義では「OrderQantity」という名前になります。

また、NOW()をOrderDateのデフォルト値として使用できるとは思わない。以下を使用してみてください。

 OrderDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

フィドルの例

22
Salem

このエラーもありました。

私はmysqlワークベンチで働いています。値を与えるとき、それらは「」の中になければなりません。それで解決しました。

1
Lealo