-1

データベースから同時に多くのテーブルを削除したいのですが、どうすればその目標を達成できますか? 特定のクエリや方法はありますか?

4

1 に答える 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 に答える