mysql - 使用单个 Delete 语句删除多个表

标签 mysql

我有 3 个表(出于某种原因我需要将它们分成 3 个表,我只是使用 LEFT JOIN 连接它们)

表1

refno
location

表2

refno
description

表3

refno
imagepath

要删除,我需要发出 3 条 DELETE 语句

DELETE FROM table1 WHERE refno = 'variablehere'
DELETE FROM table2 WHERE refno = 'variablehere'
DELETE FROM table3 WHERE refno = 'variablehere'

有没有办法使用单个 DELETE 语句从 3 个表中删除,我的意思是我可以在 DELETE 语句中使用类似 LEFT JOIN 的东西吗?

最佳答案

SQL Fiddle显示以下查询的示例:

DELETE a.*, b.*, c.*
FROM table1 AS a, table2 AS b, table3 AS c
WHERE a.refno  = b.refno 
AND b.refno  = c.refno 
AND a.refno  = 'variablehere'

关于mysql - 使用单个 Delete 语句删除多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015366/

相关文章:

mysql - java和mysql加载数据infile的误区

java - 选择下拉选项时插入数据,MySQL、JAVA、JSP

mysql - 重启后 XAMPP MySQL 服务崩溃

php - 查询返回来自 phpmyadmin 和网页/的不同结果

php - XAMPP phpMyAdmin session 错误

mysql - 将设置为 varchar 的主键字段转换为 int 字段

PHP/MYSQL 选择一个 MAX 值并将其用作插入值

php - 存储图形数据的最有效方法

mysql - R中的多个数据库连接

Python 连接列表中的元组对