SQL DELETE 并 JOIN 另一个表作为 WHERE 条件

2023-12-01

我必须从中删除行guide_category与 没有关系的guide表(死关系)。

这就是我想做的,但它当然行不通。

DELETE FROM guide_category AS pgc 
 WHERE pgc.id_guide_category IN (SELECT id_guide_category 
                                   FROM guide_category AS gc
                              LEFT JOIN guide AS g ON g.id_guide = gc.id_guide
                                  WHERE g.title IS NULL)

Error:

您无法在 FROM 子句中指定用于更新的目标表“guide_category”


由于锁定实现问题,MySQL不允许引用受影响的表DELETE or UPDATE.

你需要做一个JOIN在这里:

DELETE  gc.*
FROM    guide_category AS gc 
LEFT JOIN
        guide AS g 
ON      g.id_guide = gc.id_guide
WHERE   g.title IS NULL

或者只是使用NOT IN:

DELETE  
FROM    guide_category AS gc 
WHERE   id_guide NOT IN
        (
        SELECT  id_guide
        FROM    guide
        )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL DELETE 并 JOIN 另一个表作为 WHERE 条件 的相关文章

  • 在同一个表上组合两个 SQL SELECT 语句

    我想结合这两个 SQL 查询 SELECT FROM Contracts WHERE productType RINsell AND clearTime IS NULL AND holdTime IS NOT NULL ORDER BY g
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 本地数据库缓存的最佳实践?

    我正在开发一个应用程序 该应用程序的部分内容依赖于 MySQL 数据库 在某些情况下 应用程序将在互联网连接 UMTS 有限的环境中运行 特别是延迟较高的环境 应用程序的用户能够登录 并且应用程序用户界面的大部分内容都是从 MySQL 数据
  • Laravel Sum 列数据库 Eloquent

    尝试获取我的一个表中 int 字段的总和应该非常容易 不幸的是 事实并非如此 因为无论我使用 Laravel MySQL 还是 Excel 我都会得到不同的结果 Laravel 5 4 给了我20506 Table sum field na
  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA
  • Postgres、更新和锁定顺序

    我正在研究 Postgres 9 2 有 2 个更新 每个更新都有自己的事务 一个看起来像 UPDATE foo SET a 1 WHERE b IN 1 2 3 4 另一个也类似 UPDATE foo SET a 2 WHERE b IN
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • 我可以在一个查询中更新/选择表吗?

    我需要在查看页面时选择数据并更新 视图 列 有没有一种方法可以在一个查询中执行此操作 或者我是否必须使用不同的查询 如果您不想 不需要使用事务 则可以创建一个存储过程 该过程首先更新视图计数 然后选择值并将其返回给用户
  • 在 PHP 中将十进制/双精度/浮点值与 PDO 绑定的最佳方法是什么?

    看来类常量只涵盖PDO PARAM BOOL PDO PARAM INT and PDO PARAM STR用于绑定 您只是将十进制 浮点 双精度值绑定为字符串还是有更好的方法来处理它们 MySQLi 允许使用 d 类型表示 double
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • SQL Group BY,每个组的前 N ​​个项目

    我有一个 SQL 查询 可以获取给定商店中销量最高的 5 件商品 SELECT TOP 5 S UPCCode SUM TotalDollarSales FROM Sales S WHERE S StoreId 1 GROUP BY S U
  • Oracle:如果表存在

    我正在为 Oracle 数据库编写一些迁移脚本 并希望 Oracle 有类似于 MySQL 的东西IF EXISTS构造 具体来说 每当我想删除 MySQL 中的表时 我都会执行类似的操作 DROP TABLE IF EXISTS tabl
  • 在存储过程结束时显式删除本地临时表有什么好处?

    考虑以下伪 T SQL 代码 由存储过程执行 CREATE TABLE localTable
  • 高效插入和更新时检查唯一性

    我的员工表中有 2 列 每列值必须是唯一的 staff code staff name staff id staff code staff name 1 MGT Management 2 IT IT staff 当向表中插入或更新项目时 我
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 如何解决 MySQL innodb 在 TRUNCATE TABLE 上“等待表元数据锁”?

    在 GitLab CI 服务器中运行包含数百个应用程序单元测试的测试套件 运行 10 次测试后 不知怎的 它总是卡在等待 TRUNCATE TABLE 上的表元数据锁上 这是一个拆卸步骤 我知道SHOW ENGINE INNODB STAT
  • 哪个是识别关系或非识别关系中的子表?

    在表之间的识别和非识别关系的上下文中 MySQL 文档大量将表称为父表和子表 如何判断哪个表是父表 哪个表是子表 子表 A K A 弱实体 http en wikipedia org wiki Weak entity 是一个表 其主键属性d
  • 从一个sql服务器选择到另一个sql服务器?

    我想将一台服务器 Data Old S1 中的一个表 T1 在 DB1 中 中的数据选择到另一台服务器 Data Latest S2 中的另一个表 T2 在 DB2 中 中的数据 我怎样才能做到这一点 请注意服务器的命名方式 查询也应该考虑

随机推荐

  • mysql 检查数字是否在逗号分隔列表中

    我有一个这样的表 UID int NUMBERS blob 1 1 13 15 20 2 3 10 15 20 3 3 15 我想测试 3 和 15 是否在名为 NUMBERS 的 blob 中 并且可以看到LIKE 不能使用 仅选择 ID
  • 合并2个没有重复键的数组

    我有两个如下所示的数组 想要将它们合并在一起 而不是将重复的键放入新数组中 array1 Array 0 gt Array a gt Array p gt Array a gt 1 a s gt Array p gt Array o gt
  • Type.GetType("namespace.a.b.ClassName") 返回 null

    这段代码 Type GetType namespace a b ClassName returns null 我的用途是 using namespace a b 该类型存在 它位于不同的类库中 我需要通过以字符串形式给出的名称来获取它 Ty
  • 如何快速检测哪个图像被点击

    我在 ViewController 上创建了 6 个 UIImageView 稍后我将向所有这些视图添加 TapGestureRecognizer 我想让它根据单击的图像 另一个 ViewController 将打开并显示某些信息 为此 我
  • Sql Server Ce 3.5 身份插入

    Sql Server CE 中的标识列出现问题 使用服务器资源管理器时 在VS2008中 执行以下脚本 SET IDENTITY INSERT testTable ON 插入 testTable id name 值 1 Something
  • 如何限制创建的Thread对象的数量?

    我想在下面的代码中限制数量class f同时运行的对象 即限制同时工作的线程数量 我怎样才能做到这一点 usr bin env python import random import time from threading import T
  • 线程“main”java.sql.SQLException中的异常:靠近“s”:语法错误

    我编写了一个程序 用单词列表填充数据库 问题是 每次我尝试运行代码时 它都会抛出 线程 main java sql SQLException中的异常 接近 s 语法错误 我意识到这个论坛上也有人提出了类似的问题 但在我的代码上下文中我无法纠
  • CardView突然变黑了

    我有一个问题CardView in the RecyclerView My CardView突然变黑了 我的RatingBar变成蓝色 我正在使用InfiniteRecyclerView但将其改为简单的RecyclerView没有影响 我可
  • 在Python中重新打开文件?

    假设我有这个简单的 python 脚本 file open C some text txt print file readlines print file readlines 运行时 第一个打印会打印包含文件文本的列表 而第二个打印会打印空
  • pheatmap 中缺少注释和颜色

    使用 pheatmap R 包 我需要制作带有自定义颜色集注释的热图 我使用以下代码 Make a matrix mat lt replicate 23 rnorm 23 colnames mat lt c 1 2 3plus3reseq
  • Material-UI Button 组件如何推断传递给“component” prop 的组件的 props?

    谁能解释一下 Material UI 如何扩展其 propsButton如果我在component prop interface MyLinkProps extends ButtonBaseProps someRandomProp stri
  • 使用字典将 xml 反序列化为对象

    这是我的班级结构 class DataItem public string Id get set public string Type get set private Dictionary
  • 前瞻和非捕获正则表达式

    我试图将 字符之前的电子邮件地址的本地部分与 LOCAL RE NOTQUOTED w alphanumeric and special chars but no dot at beginning w alphanumeric and sp
  • 传递类型参数进行实例化

    为什么 scala 编译器不挖掘这个 class Clazz class Foo C lt Clazz val foo new C class type required but C found error val a new C erro
  • 无法获取 PropertyInfo.SetValue() 来设置我的对象的值

    我已将下面的代码简化为一个基本示例 但我仍然无法获取要设置的值 执行 propertyInfo SetValue 时 它将在我的 Contact 对象的 setter 上命中断点 并且该值在 setter 中正确设置 但是 执行 SetVa
  • Java进程间互斥体

    我需要在 Java 中实现某种进程间互斥锁 我正在考虑使用本文中推荐的 FileLock APIthread 我基本上将使用一个虚拟文件并将其锁定在每个进程中 这是最好的方法吗 或者是标准 API 中内置的类似内容 我找不到 欲了解更多详情
  • 如何在 Android Studio 中对齐 XML 代码?

    Android Studio 中是否有任何功能可以通过 符号对齐所有 XML 属性 我找不到任何允许这样做的设置 Just another code format fanatic who likes code readability 下面的
  • 添加数据以返回 Symfony 控制器中的所有操作

    我在 Symfony 2 1 应用程序中有一个控制器 我们就这样称呼它吧FooController in the BarBundle 这个控制器有很多动作fooAction barAction bazAction还有一些 他们都有一些共同点
  • 使用终端而不是 Xcode 运行 C 脚本

    目前我正在我的 Mac 上使用 Xcode 开发几个 C 程序 然而有1个问题 我的学习要求我通过编码使用某种输入字段 例如 如果用户想要运行该程序 10 次或希望该程序创建 10 个答案 我使用 atoi argv 1 只是为了获取用户的
  • SQL DELETE 并 JOIN 另一个表作为 WHERE 条件

    我必须从中删除行guide category与 没有关系的guide表 死关系 这就是我想做的 但它当然行不通 DELETE FROM guide category AS pgc WHERE pgc id guide category IN