开发者社区> 问答> 正文

使用MySQL LEFT JOIN删除行?mysql

我有两个表,一个用于工作截止日期,一个用于描述工作。每个作业可以具有一个状态,某些状态表示必须从另一个表中删除作业的截止日期。

我可以轻松地SELECT通过以下方式满足我的标准的工作/最后期限LEFT JOIN:

SELECT * FROM deadline LEFT JOIN job ON deadline.job_id = job.job_id WHERE status = 'szamlazva' OR status = 'szamlazhato' OR status = 'fizetve' OR status = 'szallitva' OR status = 'storno' (不status属于job表deadline)

但是,当我想从中删除这些行时deadline,MySQL会引发错误。我的查询是:

DELETE FROM deadline LEFT JOIN job ON deadline.job_id = job.job_id WHERE status = 'szamlazva' OR status = 'szamlazhato' OR status = 'fizetve' OR status = 'szallitva' OR status = 'storno' MySQL错误什么也没说:

您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'LEFT JOIN jobON最后期限附近使用。job_id= job.job_id WHERE status='szaml'在第1行

如何将我SELECT的DELETE查询变成有效的查询?

展开
收起
保持可爱mmm 2020-05-17 11:18:42 550 0
1 条回答
写回答
取消 提交回答
  • 您只需要指定要在哪些表上应用DELETE。

    仅删除deadline行:

    DELETE deadline FROM deadline LEFT JOIN job .... 删除deadline和job行:

    DELETE deadline, job FROM deadline LEFT JOIN job .... 仅删除job行:

    DELETE job FROM deadline LEFT JOIN job ....来源:stack overflow

    2020-05-17 11:23:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像