• ベストアンサー

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

MySQLのデータベースのバックアップをphpMyAdminのエクスポートで取っていました。 そのバックアップを新しいデータベースに取り込みたいのですが、うまく行きません。 すでに、同じ名前で同じ構造の新しいデータベースは作成済みで、新しいデータも生じているのですが、phpMyAdminでバックアップしたファイルをインポートすると、古いデータは取り込めるのですが、新しいデータが消えてしまいます。 バックアップしたデータを新しいデータに追加するには、どうしたらいいでしょうか?

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

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

エクスポート、インポートでどういった設定をしたのか解りませんが、 たぶん create tableから行っていて、全て上書きになってるのでしょう。新しい構造も消えてると思われます。 なので、新しい構造のtable は、インポートの前にRENAME TABLE newtable などとして待避しておいて、 インポートして出来た古い構造tableのデータを、新しい方にinsert 文で移して INSERT INTO newtable (column list) select * from oldtable 全部コピー出来たことが確認出来たら、古い構造のtableはdropし、新しい構造のtable名を戻す。 という作業が必要と思います。

FC4
質問者

お礼

返事が遅れまして、大変申し訳ありません。 hrm_mmmさんの回答を参考にして、いろいろ試してみました。 ERROR 1062 (23000) at line **: Duplicate entry '**' for key 1 上のエラーが出るので、そのままではすべてのカラムのデータを挿入できないようです。 とりあえず、primary keyの値を変更してデータ追加しました。 どうも、ありがとうございました。

関連するQ&A