Mysql 使用联接(SQL)从2个表中删除
如果在table2中没有table2.col=table1.id的结果,则sql查询不起作用。如果table2有col=table.id的行,那么它可以正常工作。如何重拍?我需要删除table1的行,即使table2中table.col=table1.id的行不存在 提前感谢。使用左连接 一般规则是,如果使用相同的参数执行SELECT查询,则DELETE查询将删除返回的相同行。由于要在SELECT中使用左联接从表1中获取与表2中不匹配的行,因此必须对DELETE执行相同的操作 如果要安全地测试删除,此一般规则也很有用。执行相应的SELECT,确保它只返回要删除的行。使用左联接 一般规则是,如果使用相同的参数执行SELECT查询,则DELETE查询将删除返回的相同行。由于要在SELECT中使用左联接从表1中获取与表2中不匹配的行,因此必须对DELETE执行相同的操作Mysql 使用联接(SQL)从2个表中删除,mysql,sql,Mysql,Sql,如果在table2中没有table2.col=table1.id的结果,则sql查询不起作用。如果table2有col=table.id的行,那么它可以正常工作。如何重拍?我需要删除table1的行,即使table2中table.col=table1.id的行不存在 提前感谢。使用左连接 一般规则是,如果使用相同的参数执行SELECT查询,则DELETE查询将删除返回的相同行。由于要在SELECT中使用左联接从表1中获取与表2中不匹配的行,因此必须对DELETE执行相同的操作 如果要安全地测试删
如果要安全地测试删除,此一般规则也很有用。执行相应的SELECT,并确保它只返回要删除的行。您应该在other中使用左连接来实现此目的:
DELETE `table1`, `table2`
FROM `table1`
LEFT JOIN `table2` ON table2.col = table1.id
WHERE table1.id = 1
有关更多文档,请查看此处:
希望有帮助。您应该在other中使用左连接来实现这一点:
DELETE `table1`, `table2`
FROM `table1`
LEFT JOIN `table2` ON table2.col = table1.id
WHERE table1.id = 1
有关更多文档,请查看此处:
希望有帮助。您可以使用左连接尝试以下操作:
您可以使用左连接尝试以下操作:
如果你无论如何都要从表1中删除,那么为什么还要加入表2?@TabAlleman他还想从表2中删除行,如果行在那里。如果你无论如何都要从表1中删除,那么为什么还要加入表2?@TabAlleman他还想从表2中删除行,如果行在那里。很好!谢谢大家,谢谢大家。我可以在8分钟后接受你的回答。太好了!谢谢大家,谢谢大家。我可以在8分钟后接受你的回答。
DELETE `table1`, `table2`
FROM `table1`
LEFT JOIN `table2`
ON table2.col = table1.id WHERE table1.id = 1
DELETE `table1`, `table2`
FROM `table1` LEFT JOIN `table2` ON table2.col = table1.id WHERE table1.id = 1