8

データベースに 100 個のテーブルがあり、1 つだけ保持したい。

以下のクエリのようなものを試しました:

DROP ALL TABLES EXCEPT my_table

しかし、それは存在しないようです。何か案が?

4

6 に答える 6

4

MySQL で複数のテーブルを削除することはできません。

あなたのケースで最も簡単なのは、保持したいテーブルをエクスポートし(のようなツールを使用してmysqldump)、データベースを削除して再作成することです。

于 2013-04-27T10:53:23.833 に答える
1

多数のテーブルがある場合は、GROUP_CONCAT 関数による切り捨てに注意してください。返される文字列の最大長の設定があります: group_concat_max_len

参照: GROUP_CONCAT リファレンス マニュアル エントリ

この回答は、解決策に私を導きました: MYSQL: LONG 文字列変数を定義または取得する方法

于 2013-12-11T17:18:20.767 に答える
0

使えますmysqldump、試してみてください!

mysqldump -u[USERNAME] -p[PASSWORD]--add-drop-table --no-data [DATABASE] |
grep ^DROP |
grep -v 'my_table' |
mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
于 2013-04-27T11:48:09.410 に答える