【问题标题】:Delete few records from table whose primary key referencing as foreign key in different table从表中删除几条主键引用为不同表中外键的记录
【发布时间】:2019-04-10 08:53:38
【问题描述】:

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

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

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    您需要先更改Employee 表中用户的部门ID。然后从Department 表中执行删除操作。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        但首先您可以删除要删除的部门 ID 的员工,然后删除部门 ID

        从 dept_id= 的员工中删除 从 dept 中删除 dept_id=

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-18
          相关资源
          最近更新 更多