データベースのテーブルにデータを取り込むために使用している.sqlファイルがあります。以下は私が使用しているコードです。MYSQLエラーを受信しましたが、何が起こっているのか理解できません
CREATE TABLE Worker (
worker_id int NOT NULL AUTO_INCREMENT,
fname varchar(15) NOT NULL,
lname varchar(20) NOT NULL,
primary key(worker_id)
);
CREATE TABLE Customer (
customer_id int NOT NULL Auto_Increment,
primary key (customer_id)
);
CREATE TABLE Orders (
Orders_id int NOT NULL AUTO_INCREMENT,
customer_id int NOT NULL,
worker_id int NOT NULL,
Orders_detail_id int NOT NULL,
Orders_Placed date NOT NULL,
Delivered_on date NOT NULL,
Total varchar(8) NOT NULL,
Ship_addr varchar(50) NOT NULL,
Order_status varchar(35) NOT NULL,
primary key(Orders_id),
foreign key(customer_id) references Customer(customer_id),
foreign key(worker_id) references Worker(worker_id),
foreign key(Orders_detail_id) references orders_detail(Orders_detail_id)
);
CREATE TABLE orders_detail (
Orders_detail_id int NOT NULL Auto_Increment,
Product_id int NOT NULL,
Quantity varchar(4) NOT NULL,
primary key (Orders_detail_id, Product_id)
);
CREATE TABLE PRODUCT (
Product_id int NOT NULL Auto_Increment,
Prod_name varchar(20) NOT NULL,
Prod_desc varchar(45) NOT NULL,
Prod_price varchar(6) NOT NULL,
Quantity_left varchar(4) NOT NULL,
primary key (Product_id)
);
- ファイルを実行しようとすると、私は、次のエラーが表示さ:私はエラーが表示される理由についてのヒントを得ることができれば、私は感謝
ERROR 1005 (HY000) at line 27: Can't create table 'houston.ORDERS' (errno: 150)
を。
は私がorders' '後に作成されたあなたの' orders'テーブルの参照 'orders_details'が作成していると思います動作するはずです。 'orders'の前に' order_details'テーブルを作成してみてください。 –