2017-04-08 9 views
0

Table_ATable_Cityがあるとします。 Table_Aには私は列current_city_Iddestination_city_Idを持っています。外部キーとしてのプライマリキーを使用します(current_city_Iddestination_city_Idの1つ)。どのように可能ですか?このテーブルにはすでに外部キーが存在するというエラーが表示されます。私を助けてください。mysqlのテーブルでプライマリキーを外部キーとして複数回使用する方法は?

+0

私たちに 'table_city'と' table_a'で試したことを教えてください。 – Schwern

答えて

0

プライマリキーは1つしか作成できませんが、プライマリキーに複合プライマリキーと呼ばれる複数の列を含めることができます。

表には、2つ以上の列で作成された主キーである複合主キーを使用できます。たとえば:

CREATE TABLE Table_City (
    current_city_Id INT, 
    destination_city_Id INT, 
    info char(200), 
    primary key (current_city_Id, destination_city_Id) 
); 

あなたは、彼らが一意の値を強制し、それらの値のクエリをスピードアップすることで、主キーのようなビットを働くであろう、あなたのテーブルに一意索引をも持つことができます。

0

テーブルに含めることができる外部キーの数に制限はありません。 table_city.idがtable_cityの主キーであり、それは整数だと仮定すると...

create table table_a (
    current_city_Id integer references table_city(id) 
    destination_city_Id integer references table_city(id) 
); 

はおそらく、あなたはそれらを誤ってprimary key宣言しましたか?

関連する問題