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

Eri*_*ric 6 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'中.

Dam*_*vic 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)
;
Run Code Online (Sandbox Code Playgroud)

  • 好吧,我解决了这个问题,我不得不取消选中框:检查创建时的现有数据:(设置为"否")并且它有效!谢谢. (9认同)
  • @Eric,不知道你实际上有一些数据.错误意味着你有一些`HomeTeamID`值在`Teams`表中不存在. (3认同)