假设我有Table_A
和Table_City
。在Table_A
我有current_city_Id
和destination_city_Id
列。我想将Table_City
的主键用作外键两次(一个用于current_city_Id
和destination_city_Id
)。怎么可能?它给了我一个错误,即该表中已存在外键。请帮帮我。
答案 0 :(得分: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)
);
您还可以在表上使用唯一索引,这有点像主键,因为它们会强制执行唯一值,并且会加快查询这些值。
答案 1 :(得分: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
?