2016-11-18 35 views
0

なぜこのエラーメッセージが表示されるのですか? RENTALテーブルを作成しようとすると、エラーがポップアップします。エラーコード:1215.外部キー制約を追加できません

CREATE TABLE CAR_CLASS 
(CAR_CLASS_ID INT(3) PRIMARY KEY, 
CAR_CLASS CHAR(20), 
RENTAL_RATE DECIMAL(4,2)); 

CREATE TABLE CAR 
(CAR_ID CHAR(25) PRIMARY KEY, 
CAR_CLASS_ID INT(3), 
CAR_COLOR CHAR(20), 
FOREIGN KEY (CAR_CLASS_ID) REFERENCES CAR_CLASS(CAR_CLASS_ID)); 

CREATE TABLE CUSTOMER_INFO 
(CUSTOMER_ID CHAR(30) PRIMARY KEY, 
CUSTOMER_FIRST CHAR(30), 
CUSTOMER_LAST CHAR(30), 
CUSTOMER_CC_NUMBER CHAR(16)); 


CREATE TABLE RENTAL 
(RENTAL_ID INT(3) PRIMARY KEY, 
RENTAL_DATE_OUT DATE, 
RENTAL_DATE_IN DATE, 
CAR_CLASS_ID INT(3), 
CAR_ID CHAR(25), 
CUSTOMER_ID CHAR(30), 
FOREIGN KEY (CAR_CLASS_ID) REFERENCES CAR_CLASS(CAR_CLASS_ID), 
FOREIGN KEY (CAR_ID) REFERENCES CAR(CAR_ID), 
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID)); 

答えて

1

他のテーブルはCUSTOMER_INFOと呼ばれ、外部キーはCUSTOMERだけを参照します。最後のCREATE TABLEを次のように変更してください。

CREATE TABLE RENTAL 
(RENTAL_ID INT(3) PRIMARY KEY, 
RENTAL_DATE_OUT DATE, 
RENTAL_DATE_IN DATE, 
CAR_CLASS_ID INT(3), 
CAR_ID CHAR(25), 
CUSTOMER_ID CHAR(30), 
FOREIGN KEY (CAR_CLASS_ID) REFERENCES CAR_CLASS(CAR_CLASS_ID), 
FOREIGN KEY (CAR_ID) REFERENCES CAR(CAR_ID), 
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER_INFO(CUSTOMER_ID)); 
0

レンタルテーブルの作成中にテーブル名が正しくありません。

コードの最後の行を見てください。

FOREIGN KEY(CUSTOMER_ID)REFERENCES CUSTOMER(CUSTOMER_ID)。

の代わりに、CUSTOMER_INFOである必要があります。

すべて最高:

+0

お母さんありがとうございます!私は間違った目を見ていて、最終的に起き上がれました! –

+0

それは愚かな間違いです、誰と一緒に起こることができます。 –

関連する問題