2017-04-08 65 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

相关问题