はじめに
リモートサーバーのデータベースをローカル環境にコピーしたいとき、phpMyAdminのエクスポート・インポート機能を使うと簡単にできます。
ただし、ローカルに同じテーブルが既にある場合、そのままインポートすると
「テーブルはすでに存在します」
というエラーが出てしまいます。

この記事では、上書きインポートできるエクスポート方法を紹介します。
エクスポート手順(リモート側)
1、phpMyAdminを開き、エクスポートしたいテーブルをクリック
2、上のタブから 「エクスポート」 をクリック
3、エクスポート方法を 「簡易」から「詳細」に変更する
4、下にスクロールして 「生成オプション」 セクションを探す
5、「DROP TABLE / TRIGGER コマンドを追加する」にチェックを入れる

6、「実行」 をクリックしてファイルをダウンロード
ポイント:
この「DROP TABLE」のチェックが重要です。
これにより、インポート時に既存のテーブルを自動で削除してから新しく作り直してくれます。
インポート手順(ローカル側)
- ローカルのphpMyAdminを開く
- インポート先の データベースを選択(テーブルではなくデータベース)
- 上のタブから 「インポート」 をクリック
- 「ファイルを選択」 でエクスポートしたファイルを選ぶ
- 「実行」 をクリック
これだけで、既存のテーブルがあっても上書きでインポートされます。
「DROP TABLE」ありとなしの違い
| 設定 | インポート時の動作 | 同じテーブルが既にある場合 |
|---|---|---|
| チェックなし(簡易エクスポート) | テーブル作成 → データ挿入 | エラーになる |
| チェックあり(詳細エクスポート) | 既存テーブル削除 → テーブル作成 → データ挿入 | 上書きされる |
よくあるエラーと対処
エラー:#1050 - 表 'テーブル名' はすでに存在します。
→ エクスポート時に「DROP TABLE」にチェックを入れずにエクスポートしたファイルを使っています。
上記の手順でエクスポートし直してください。
エラー:#1062 - Duplicate entry 'x' for key 'PRIMARY'
→ テーブル内に同じIDのデータが既にあります。これも「DROP TABLE」付きでエクスポートし直せば解決します。
まとめ
- エクスポートは 「詳細」モード を使う
- 「DROP TABLE」にチェック を入れる
- インポートは データベースを選んで から実行する
この3つを覚えておけば、リモートのデータベースをローカルにいつでも上書きコピーできます。


