SQL-INSERT语句与FOREIGN KEY约束冲突

时间:2018-12-08 22:02:10

标签: sql sql-server foreign-keys alter-table

我真的坚持了这一点。

CREATE TABLE [dbo].[Department]
(
    [DID] [int]  primary key,
    [Name] [varchar](255) ,
    [Description] [varchar](255) ,
    [ManagerId] [int]
);

CREATE TABLE [dbo].[OfficialEmployee]
(
    [EID] [int]  primary key,
    [StartDate] [date] ,
    [Degree] [varchar](255) ,
    [DepartmentId] [int] ,

    CONSTRAINT [FK_DIDOfficial] 
        FOREIGN KEY([EID]) REFERENCES [dbo].[Employee] ([EID]) 
                ON UPDATE CASCADE ON DELETE CASCADE,
    CONSTRAINT [FK_EIDOfficial] 
        FOREIGN KEY([DepartmentId]) REFERENCES [dbo].[Department] ([DID]) 
                ON UPDATE CASCADE ON DELETE CASCADE
);

ALTER TABLE [dbo].[Department] WITH CHECK 
    ADD CONSTRAINT [FK_DepMan] 
        FOREIGN KEY([ManagerId])REFERENCES [dbo].[OfficialEmployee] ([EID]) 
                ON DELETE NO ACTION

当我尝试首先插入Department表中时,出现此错误:

  

INSERT语句与FOREIGN KEY约束“ FK_DepMan”冲突。在数据库“ DB2019_Ass2”的表“ dbo.OfficialEmployee”的“ EID”列中发生了冲突。

,当我尝试插入OfficialEmployee表中时,出现此错误:

  

INSERT语句与FOREIGN KEY约束“ FK_EIDOfficial”冲突。在数据库“ DB2019_Ass2”的表“ dbo.Department”的“ DID”列中发生了冲突。

因此,我不能将值插入到这两个表中的任何一个之外。

我该怎么办?

0 个答案:

没有答案