从表中删除一些记录,这些记录的主键在不同的表中引用为外键

时间:2019-04-10 08:53:38

标签: sql sql-server

例如:我想从Department表中删除2条记录,其Dept_Id是主键,并且在Employee表中引用为外键。当我尝试删除时,它给出了错误

  

DELETE语句与REFERENCE约束冲突   “ FK__Employee__Dept_I__5CD6CB2B”。数据库中发生了冲突   “ CRR_US_Report”,表“ dbo.Employee”,列“ Dept_Id”。

3 个答案:

答案 0 :(得分:0)

您首先需要在Employee表中更改用户的部门ID。然后从Department表中删除。

您具有约束条件,以确保Employee表中的每个用户都有一个有效的部门。您想从Department表中删除正在使用的记录-因此,您首先需要注意Employee表中的相应记录(如果可能,请删除,更新和设置为NULL)。

答案 1 :(得分:0)

这是外键的工作方式。因此,如果在其他表中引用了该记录,外键可以防止删除记录,并保证您的员工在现有的Department中工作。

因此,您需要在IDs表中编辑Employee,该表引用了要从Department表中删除的ID。然后删除Department字段。

答案 2 :(得分:0)

不确定,您要在哪里删除要删除的部门的员工

但是首先您可以删除要删除的dept_id的雇员,然后删除dept_id

从员工那里删除,其中dept_id = 从dept_id =

所在的部门删除

希望这会有所帮助