三个表之间的外键关系

时间:2012-02-18 15:54:55

标签: sql-server

我有三张桌子

  1. 状态:StateID(smallint,主键,非null),state(char(25),not null)
  2. 区域:DistrictID(smallint,主键,非null),StateID(smallint,带状态表的外键,非null),区(char(25),not null)
  3. 城市:CityID(smallint,主键,非空)
  4. 在城市表中还有一些文件StateID和DistrictID

    我的问题是我必须使用StateID和DistrictID在两个表格中创建City表和分区表之间的外键关系

1 个答案:

答案 0 :(得分:0)

您可以添加多列外键,如:

alter table City 
    add constraint FK_City_District
        foreign key (StateID, DistrictID)
        references District (StateID, DistrictID)

前提条件是引用列上有唯一索引:

alter table District
    add constraint UX_District_DistrictID_State_ID
        unique (StateID, DistrictID)