从多个Mysql表中删除

时间:2015-06-29 08:39:35

标签: mysql sql sql-delete

我试图使用JOIN从两个mysql表中删除。

这是我试过的方式。但它对我不起作用。

DELETE FROM services, images
LEFT JOIN images ON images.service_id = services.id 
WHERE services.id = 3;

有人能告诉我这个查询有什么问题吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

使用显式连接语法

delete s,i from services s
left join images i on i.service_id = s.id 
where s.id = 3 

答案 1 :(得分:1)

如果您想从一个表中删除但基于连接,请使用以下 -

DELETE s FROM services s
JOIN images m ON m.service_id = s.id 
WHERE s.id = 3;

如果要从2个表中删除 -

DELETE s, m FROM services s
LEFT JOIN images m ON m.service_id = s.id 
WHERE s.id = 3;