我有两个表名为“REVIEW”,另一个名为“REVIEW_DESCRIPTION”
如果我联接以获取两者的所有数据:
SELECT *
FROM reviews
INNER JOIN reviews_description
ON reviews.reviews_id=reviews_description.reviews_id
WHERE reviews.customers_id = 54183
基于此,我想删除两个表格中符合此条件的行,一次拍摄,任何提示?
答案 0 :(得分:3)
是的,MySQL supports deletions from more than one table in a single statement:
对于第一个多表语法,仅删除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
答案 1 :(得分:1)
除非您有on cascade delete
或delete trigger
设置,否则您需要使用2个语句
答案 2 :(得分:0)
会级联删除帮助吗?