MSSQL:无法为同一个表创建两个外键的关系?

时间:2011-04-14 11:57:02

标签: sql-server entity-relationship foreign-key-relationship

您好,使用SQL Server 2008,

我为棒球联盟建立了一个小型数据库,我在创建团队(PK:TeamID)和GameSchedule(PK:GameID,FK1:HomeTeamID,FK2:AwayTeamID)之间的关系时遇到问题

我想创建GameSchedule HomeTeamID,AwayTeamID与团队(TeamID)之间的关系

每当我尝试这样做时,我都会收到错误:( TeamID已经是团队中的主键)

'团队'表已成功保存 'GameSchedule'表 - 无法建立关系'FK_GameSchedule_Teams' ALTER TABLE语句与FOREIGN KEY约束“FK_GameSchedule_Teams”冲突。冲突发生在数据库“sll_2009”,表“dbo.Teams”,列'TeamID'。

1 个答案:

答案 0 :(得分:6)

create table GameSchedule (
      GameID     integer not null
    , HomeTeamID integer not null
    , AwayTeamID integer not null
);

alter table GameSchedule
  add constraint pk_gsch  primary key (GameID)
, add constraint fk1_gsch foreign key (HomeTeamID) references Teams (TeamID)
, add constraint fk2_gsch foreign key (AwayTeamID) references Teams (TeamID)
;