首页 > 解决方案 > 关于 MySql 使用键删除

问题描述

如何删除属于 Jack 创建的新闻的所有提醒?

这些是我创建的具有相同数据的表,现在我想针对上述要求触发 SQL 查询。

在此处输入图像描述

这是我尝试过的

DELETE FROM reminders
USING news
INNER JOIN reminders
WHERE CreatedBy = 'Jack'
      AND reminders.ReminderId = news.NewsId;

标签: mysqlsqljoinkeyinner-join

解决方案


我发现USINGMySQL 删除中的语法有点令人困惑——因为USING它已经在语法上用作ON.

像这样的东西应该工作:

DELETE r
    FROM reminders r JOIN
         news n
         USING (NewsId)
    WHERE n.CreatedBy = 'Jack';

请注意,两个NewsId中的连接条件都打开。


推荐阅读