mysql - 基于外键删除条目的最有效方法

标签 mysql sql

我可以执行以下连接来获取历史记录表中具有 Platform =“Vudu”的所有项目。

SELECT * FROM main_history History INNER JOIN main_iteminstance Instance
ON History.instance_id=Instance.id
WHERE platform_type_id='vudu'

但是,我找不到删除所有这些项目的简单方法。例如,执行以下操作:

DELETE from main_history h join main_iteminstance i on h.instance_id=i.id
WHERE platform_type_id='vudu'

如何在单个查询中基于外键在 Mysql 中进行删除?

最佳答案

你们非常非常接近:

DELETE h
-------^
    FROM main_history h JOIN
         main_iteminstance i
         ON h.instance_id = i.id
    WHERE platform_type_id = 'vudu';

MySQL 只需要知道要删除的表(或多个表)。

关于mysql - 基于外键删除条目的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41130858/

相关文章:

mysql - 如何使用 sql 和按日期分组显示指标随日期的累积增长?

mysql - 如何在mysql中插入多表查询?

mysql - 仅在自增 id 不等于 6 时才插入(例如)?

sql - 获取与其他行中列值相关的列值

php - 将 2 个不同的变量转换并连接成一个字符串

mysql - 考勤 : Get time_in and time_out of flexible schedule Employees

sql - 在两列之间选择日期

java - 使用 SessionFactory bean 的 setter 注入(inject)时出现 NullPointerException

php - 重新利用mysql_fetch_array带来的数据

php - 数据库中的特殊字符显示不正确