我要从多个表中删除行,如何执行此操作?
我试过了

DELETE a.*, b.*, c.*
FROM table1 as a, table2 as b, table3 as c
WHERE a.colName = 'value'
AND b.colName = 'value'
AND a.c.colName = 'value';

'value'对于所有表和colName都是相同的。
因为此查询记录必须存在于所有表中,但在我的情况下,记录可能存在于表中,也可能不存在。
运行删除查询时,删除现有记录,否则返回“cc>”。所以我只想运行3个这样的查询
DELETE FROM table1 WHERE colName = 'value';
DELETE FROM table1 WHERE colName = 'value';
DELETE FROM table1 WHERE colName = 'value';

在一个查询中。
谢谢

最佳答案

Delete with joins在mysql中有点奇怪。你需要这样的东西:
编辑:
允许在所有表上不存在行

DELETE FROM
  table1, table2, table3
USING
  table1
LEFT JOIN
  table2 ON table2.colName = table1.colName
LEFT JOIN
  table3 ON table3.colName = table1.colName
WHERE
  table1.colName = 'value'

10-01 05:08