- ベストアンサー
MySQLのデータベースのバックアップを取り込む方法について。
MySQLのデータベースのバックアップをphpMyAdminのエクスポートで取っていました。 そのバックアップを新しいデータベースに取り込みたいのですが、うまく行きません。 すでに、同じ名前で同じ構造の新しいデータベースは作成済みで、新しいデータも生じているのですが、phpMyAdminでバックアップしたファイルをインポートすると、古いデータは取り込めるのですが、新しいデータが消えてしまいます。 バックアップしたデータを新しいデータに追加するには、どうしたらいいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
エクスポート、インポートでどういった設定をしたのか解りませんが、 たぶん create tableから行っていて、全て上書きになってるのでしょう。新しい構造も消えてると思われます。 なので、新しい構造のtable は、インポートの前にRENAME TABLE newtable などとして待避しておいて、 インポートして出来た古い構造tableのデータを、新しい方にinsert 文で移して INSERT INTO newtable (column list) select * from oldtable 全部コピー出来たことが確認出来たら、古い構造のtableはdropし、新しい構造のtable名を戻す。 という作業が必要と思います。
お礼
返事が遅れまして、大変申し訳ありません。 hrm_mmmさんの回答を参考にして、いろいろ試してみました。 ERROR 1062 (23000) at line **: Duplicate entry '**' for key 1 上のエラーが出るので、そのままではすべてのカラムのデータを挿入できないようです。 とりあえず、primary keyの値を変更してデータ追加しました。 どうも、ありがとうございました。