2016-11-10 49 views

答えて

1

次のように宣言する必要があります。

Create table(id ... , foreignKEY INT NOT NULL, 
Constraint FOREIGN KEY(foreignKEY) REFERENCES table_refered(it primary key));  

// foreignKEY-が列として最初に宣言し、その宣言の後にする必要があります。

は、最初の外部キーを宣言する必要がありますそれはFOREIGN KEY GOOD LUCKです。

0

参照されたテーブルと列の構文を間違えただけです。

は、次の例のように書いた:

foreign key (rm_id) references roomate.rm_id, 

は、それは次のようになります。

foreign key (rm_id) references roomate(rm_id), 

構文はここに文書化されている:http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html

+0

ありがとうございました。 –

0

あなたの間違いPERCENTAGEテーブルを参照keyを割り当てるとき。参照キーはこのようにする必要があります。これに代えて

FOREIGN KEY (RM_ID) REFERENCES ROOMMATE(RM_Id) 
FOREIGN KEY (ITM_Id) REFERENCES ITEM(ITM_Id) 

は:

FOREIGN KEY (RM_ID) REFERENCES ROOMMATE.RM_Id 
FOREIGN KEY (ITM_Id) REFERENCES ITEM.ITM_Id 
0

私はあなたの主キー/一意制約に名前を割り当てていないに気づくと、あなたもあなたの外部キーからそれらを省略することができます。また、単純な(単一列の)キーの場合は、列宣言などでインラインで宣言できます。 snipped例:

CREATE TABLE ITEM (ITM_ID INT(3) NOT NULL UNIQUE); 

CREATE TABLE PERCENTAGE (ITM_ID INT(3) NOT NULL REFERENCES ITEM (ITM_ID)); 
関連する問題