1

我有 2 个表,一个名为“REVIEW”,另一个名为“REVIEW_DESCRIPTION”

如果我进行连接以从两者中获取所有数据:

SELECT *
FROM reviews 
INNER JOIN reviews_description
ON reviews.reviews_id=reviews_description.reviews_id
WHERE reviews.customers_id = 54183

基于此,我想一次性删除两个表中符合此条件的行,有什么提示吗?

4

3 回答 3

3

是的,MySQL 支持在单个语句中从多个表中删除

对于第一个多表语法,仅删除 FROM 子句之前列出的表中的匹配行。对于第二种多表语法,仅删除 FROM 子句(在 USING 子句之前)中列出的表中的匹配行。效果是您可以同时从多个表中删除行,并拥有仅用于搜索的其他表...

第一个多表语法示例:

DELETE reviews, reviews_description 
  FROM reviews r
  JOIN reviews_description rd
 WHERE reviews.reviews_id = reviews_description.reviews_id
   AND reviews.customers_id = 54183
于 2010-08-16T21:25:37.920 回答
1

除非您有on cascade deletedelete trigger设置您需要使用 2 个语句

于 2010-08-16T21:22:47.643 回答
0

级联删除有帮助吗?

于 2010-08-16T21:22:47.067 回答