質問

「レビュー」と呼ばれる2つの表があり、もう1つは「Review_Description」と呼ばれます。

私が参加して、両方からすべてのデータを取得する場合:

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

これに基づいて、この基準に一致する両方のテーブルで行を削除したいと思います。

役に立ちましたか?

解決

はい、 MySQLは、1つのステートメントで複数のテーブルからの削除をサポートしています:

最初のマルチテーブル構文の場合、From句が削除される前にリストされているテーブルからの行のみを削除します。 2番目のマルチテーブル構文の場合、From句(使用句の前)にリストされているテーブルからの行のみが削除されます。効果は、多くのテーブルから行を同時に削除し、検索にのみ使用される追加のテーブルを持つことができることです...

最初のマルチテーブル構文の例:

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 またはa delete trigger セットアップ2つのステートメントを使用する必要があります

Cascade削除ヘルプはありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top