データベースから同時に多くのテーブルを削除したいのですが、どうすればその目標を達成できますか? 特定のクエリや方法はありますか?
1 に答える
1
マニュアルから:
句の特定の条件に応じて、ステートメントで複数のテーブルを指定して
DELETE
、1 つ以上のテーブルから行を削除できます。WHERE
複数テーブルの構文:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
複数テーブル構文の
DELETE
場合、条件を満たす行を各 tbl_name から削除します。最初の複数テーブル構文では、FROM 句の前にリストされたテーブルから一致する行のみが削除されます。2 番目の複数テーブル構文では、FROM 句 (USING 句の前) にリストされているテーブルから一致する行のみが削除されます。その効果は、同時に多くのテーブルから行を削除し、検索のみに使用される追加のテーブルを持つことができるということです:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
または:
DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
于 2013-03-08T14:28:50.877 に答える