我有 2 个表,一个名为“REVIEW”,另一个名为“REVIEW_DESCRIPTION”
如果我进行连接以从两者中获取所有数据:
SELECT *
FROM reviews
INNER JOIN reviews_description
ON reviews.reviews_id=reviews_description.reviews_id
WHERE reviews.customers_id = 54183
基于此,我想一次性删除两个表中符合此条件的行,有什么提示吗?
我有 2 个表,一个名为“REVIEW”,另一个名为“REVIEW_DESCRIPTION”
如果我进行连接以从两者中获取所有数据:
SELECT *
FROM reviews
INNER JOIN reviews_description
ON reviews.reviews_id=reviews_description.reviews_id
WHERE reviews.customers_id = 54183
基于此,我想一次性删除两个表中符合此条件的行,有什么提示吗?
对于第一个多表语法,仅删除 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
除非您有on cascade delete
或delete trigger
设置您需要使用 2 个语句
级联删除有帮助吗?