phpMyAdminでは「エクスポート」タブからダンプファイルを作成することができます。
本番環境で作成したダンプファイルを開発環境のDBで実行したら、以下のようなエラーがたくさん出てしまいました。
Error Code: 1068. Multiple primary key defined
該当部分のクエリをコメントアウトしても、また次のエラーが出てくる…(エンドレス)
Error Code: 1061. Duplicate key name 'hoge'
エラーの内容から、ファイル内の「主キーを設定する」部分など、テーブルを定義するコマンド部分が重複していることが分かりました。
原因
DBとダンプファイルの「構造」が重複していたこと。
DBではマイグレーションを行っていたため、テーブルの「構造」はすでに設定されていました。
一方、ダンプする時には内容として「構造とデータ」を選択していました。
解決策
ダンプファイル作成時、「データ」のみをダンプする。
具体的には、
phpMyAdminの「エクスポート」
→詳細-可能なオプションを全て表示
→「フォーマット特有のオプション」で「データ」を選択
(エラーが出た時は、ここで「構造とデータ」を選択していた)
普段ダンプファイルはSSH接続しコマンドで作成しているので、ファイルの中身まで考えたことありませんでした…
勉強になりました。