交叉表上的外键约束

时间:2015-04-26 02:05:48

标签: mysql sql-server

我正在尝试将数据从Excel文档导入MySQL Management Studio,并且在尝试这样做时,数据无法导入特定的交集表,该交集表具有以下数据:

enter image description here

我要插入的表名为TYearLeagues,我收到的错误表明:

OLE DB记录可用。来源:" Microsoft SQL Server Native Client 11.0" Hresult:0x80004005描述:" INSERT语句与FOREIGN KEY约束冲突" TYearLeagues_TYears_FK"。冲突发生在数据库" dbSQL2",table" dbo.TYears",column" intYearID"。"

交叉表的设置如下:

CREATE TABLE TYearLeagues
(
     intYearID              INTEGER         NOT NULL
    ,intLeagueID            INTEGER         NOT NULL
    ,CONSTRAINT TYearLeagues_PK PRIMARY KEY (intYearID, intLeagueID)
)

和外键约束一样:

ALTER TABLE TYearLeagues ADD CONSTRAINT TYearLeagues_TYears_FK
FOREIGN KEY ( intYearID ) REFERENCES TYears( intYearID )

虽然我可以理解普通表中的问题,因为TYearLeagues是一个交集表,并且没有重复记录,我不明白这个问题。

编辑:添加了TYears表,以便更清晰。至少,intYearID 1-3被考虑在内。

enter image description here

1 个答案:

答案 0 :(得分:0)

我不认为它抱怨重复,这意味着你要插入一行,指的是TYears中不存在的一年