最も簡単な方法は、各テーブルから個別に削除することです。
-- Remove all connections from A which reference
-- the B-rows you want to remove
DELETE FROM A_has_B
WHERE B_id IN (1,2,4);
-- Remove all connections from C which reference
-- the B-rows you want to remove
DELETE FROM C_has_B
WHERE B_id IN (1,2,4);
-- Finally remove the B-rows
DELETE FROM B
WHERE B_id IN (1,2,4);
MySQLでは、1つのステートメントで複数のテーブルから削除することもできます。ただし、削除の順序を制御する方法はありません。 マニュアル から :