2017-04-08 61 views
0

假設我有一個Table_A和一個Table_City。在Table_A我有專欄current_city_Iddestination_city_Id。我想用Table_City兩次主鍵作爲外鍵(一個用於current_city_Iddestination_city_Id)。怎麼可能?它給了我一個錯誤,該表中已存在外鍵。請幫幫我。如何將主鍵作爲外鍵不止一次地在mysql表中使用?

+0

你能告訴我們'table_city'和你爲'table_a'嘗試了什麼嗎? – Schwern

回答

0

您只能有一個主鍵,但主鍵中可以有多個名爲Composite Primary Key的列。

表可以有一個複合主鍵,它是由兩列或更多列組成的主鍵。例如:

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

相關問題