みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MySQLのデータベースのバックアップを取り込む方法について。

MySQLのデータベースのバックアップをphpMyAdminのエクスポートで取っていました。
そのバックアップを新しいデータベースに取り込みたいのですが、うまく行きません。

すでに、同じ名前で同じ構造の新しいデータベースは作成済みで、新しいデータも生じているのですが、phpMyAdminでバックアップしたファイルをインポートすると、古いデータは取り込めるのですが、新しいデータが消えてしまいます。

バックアップしたデータを新しいデータに追加するには、どうしたらいいでしょうか?

投稿日時 - 2008-11-21 22:18:03

QNo.4497115

FC4

困ってます

質問者が選んだベストアンサー

エクスポート、インポートでどういった設定をしたのか解りませんが、
たぶん create tableから行っていて、全て上書きになってるのでしょう。新しい構造も消えてると思われます。

なので、新しい構造のtable は、インポートの前にRENAME TABLE newtable などとして待避しておいて、
インポートして出来た古い構造tableのデータを、新しい方にinsert 文で移して
INSERT INTO newtable (column list) select * from oldtable
全部コピー出来たことが確認出来たら、古い構造のtableはdropし、新しい構造のtable名を戻す。
という作業が必要と思います。

投稿日時 - 2008-11-22 21:45:02

お礼

返事が遅れまして、大変申し訳ありません。
hrm_mmmさんの回答を参考にして、いろいろ試してみました。

ERROR 1062 (23000) at line **: Duplicate entry '**' for key 1

上のエラーが出るので、そのままではすべてのカラムのデータを挿入できないようです。
とりあえず、primary keyの値を変更してデータ追加しました。

どうも、ありがとうございました。

投稿日時 - 2008-11-25 15:48:55

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問