当前位置: 首页 > 面试题库 >

如何从包含自引用外键的表中删除所有数据

谭煜
2023-03-14
问题内容

我有一个表,表中定义了员工关系。IE

EmpID   Name  SeniorId
-----------------------
1         A      NULL
2         B       1
3         C       1
4         D       3

等等…

在高级ID是外键的主键表与refreence列EmpId相同的情况下,我想从该表中清除所有行而不删除任何约束。我怎样才能做到这一点?

需要像这样进行删除4、3、2、1

我怎样才能做到这一点

编辑:

Jhonny的答案对我有用,但是哪个答案更有效。


问题答案:

我不知道我是否缺少某些东西,但是也许您可以尝试一下。

UPDATE employee SET SeniorID = NULL
DELETE FROM employee


 类似资料:
  • 问题内容: 我要删除所有具有以下条件的外键。 问题答案: 有一个名为的表,用于存储所有表约束。约束类型也保留在该表中。因此,通过过滤此类型,您可以访问所有外键。 如果创建动态查询(用于-对外键进行更改)以更改表,则可以达到更改所有表的约束的目的。 函数及其参数可确保至少有一个外键约束。

  • include_cols是一个字符串列表 df1是一个大文件的数据帧。我只想保留名称包含include_cols中任何字符串的列。

  • 问题内容: 我有一个MySQL表,其定义如下: 目前表格中只有1列: 问题是没有删除约束就无法删除该行的方法。 由于ThreadId列的定义不为null,因此也无法将ThreadId临时设置为其他值以删除该行。有没有一种方法可以删除行而不更改表的定义或删除整个表? 问题答案: 您可以使用以下查询临时禁用外键约束:

  • 问题内容: 基本上,我正在做一些数据分析。我以numpy.ndarray的形式读取数据集,但缺少了某些值(要么只是不在那里,要么就是被写为“ ”的字符串)。 我想清除包含这样任何条目的所有行。我该如何用一个numpy的ndarray? 问题答案: 并将其重新分配给。 说明:返回一个相似的阵列,其中,在其他地方。降低了阵列与逻辑对整个行,操作反相并从原始数组只选择行,其具有括号内。

  • 问题内容: 我有100个表,每个表40,000行。我想进入MySQL并从 所有* 表中删除 所有 行。 * …如果可能的话,用1条陈述? 我想保留数据库和表。 问题答案: 我不这么认为(但以前我做错了)。我倾向于做的是那些情况,这是一个两步过程。 如果您的DBMS具有命令行界面,则可以使用它来创建脚本来完成大部分工作,例如: 第一位只是简单地创建一个文件(或Windows下的文件),该文件包含所拥

  • 问题内容: 这是将单个表一分为二的结果: 要在只有一个表的情况下选择单个记录: 如何从两个表中获得所有记录,这些表的行由users.user_id = data.user_id连接? 问题答案: 使用显式语法可以为您提供帮助。将查询重写为: 并获取所有没有WHERE条件的行: 它将关注点分开:连接表的条件和限制结果集的条件。