2017-10-19 11 views
0

動作しません。これは、私が試したものです:のMySQLでの共同のテーブルを作成しようとしていますが、外部キーは

create table books(bcode int(5) primary key, bname varchar(45)); 

create table customers(cid int(4), cname varchar(20), cadd varchar(40), bcode, 
varchar(45), foreign key(bcode) references books(bcode)); 

を第二の文を実行した後、次のエラーが現れます:

ERROR 1215 (HY000): Cannot add foreign key constraint 

私は解決策を思いついています。どんな助けもありがとうございます。あなたは整数 としてbcodeを使用するが、第2のテーブルにあなたがvarchar型としてbcodeを使用する最初のテーブルの本で

+0

であるあなたのためのデータ型を指定していませんbcode。それを指定し、それが役立つかどうかを確認します。 –

+1

このサイトの質問に回答する人に締め切りをかけないでください。このサイトは、人々を助けようとしているボランティアによって運営されています。締め切りまでに誰かが答えることを保証することはできませんし、「緊急の助け」のコメントを追加することは、質問に関連していないので、あなたがダウンボートを受け取る可能性を高めます。 – Lexi

+0

質問には関係ありませんが、第2のテーブル 'costumers'にプライマリキーとして' cid'を定義する必要があります。なぜなら、論理的に、各テーブルは2つのレコードを簡単に区別できるようにプライマリキーを持つ必要があるからです。 –

答えて

3

ので、正しいものは

create table customers(cid int(4), cname varchar(20), cadd varchar(40), bcode 
int(5), foreign key(bcode) references books(bcode)); 
関連する問題