在一个查询中从多个表中删除行的正确方法是什么?
我问的原因是因为我正在用 PHP 做这件事。如果我使用多个查询一次从每个表中删除一个,则 PHP 必须多次访问数据库。如果我使用这种方法,会对性能有什么影响吗?
我知道 ON DELETE CASCADE
选项,但这并不适用于所有存储引擎。另外,也有可能在删除父记录的时候不想把子表的所有记录都删除。
最佳答案
DELETE
t1, t2
FROM
table1 AS t1 INNER JOIN table2 AS t2
ON
joinCondition
WHERE
whereCondition
像往常一样使用 DELETE 查询:要非常小心
此处有更多详细信息:http://dev.mysql.com/doc/refman/5.5/en/delete.html
关于php - 在一个查询中从多个表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7093094/