2017-03-20 25 views
0

私のテーブルに外部キーを追加できない理由がわかりません...誰かが私を助けてくれますか?これは私がとのトラブルを抱えているものです:エラーコード1215:なぜ外部キーを追加できない

CREATE TABLE Albums(
album_id INTEGER, 
producer_id CHAR(6)NOT NULL, 
release_date DATE, 
album_title VARCHAR(30)NOT NULL, 
price NUMERIC(5,2), 
PRIMARY KEY(album_id), 
FOREIGN KEY(producer_id)REFERENCES Musicians(sin)); 

上記のコードは

CREATE TABLE Orders(
order_id INTEGER NOT NULL, 
album_id INTEGER, 
album_title VARCHAR(30)NOT NULL, 
price NUMERIC(5,2), 
PRIMARY KEY(order_id, album_id), 
FOREIGN KEY (album_id) REFERENCES Albums(album_id), 
FOREIGN KEY (album_title) REFERENCES Albums(album_title), 
FOREIGN KEY (price) REFERENCES Albums(price)); 

に動作します。しかし、これはしません。私は理由を知らないが、album_titleと価格をForeign Keyとして追加できない。ここで

答えて

0

は、ドキュメントが言っていることだ:

FOREIGN KEY制約は別のテーブルにのみPRIMARY KEY制約 にリンクする必要はありません。別の表のUNIQUE制約の列を と参照するように定義することもできます。

のでalbum_titlepriceいずれかPRIMARY KEYであるべきか、Albums表にUNIQUE制約を持つ必要があります。

関連する問題