WordPressを移行するためデータベースをphpMyAdminでエクスポートし、移行先(ロリポップのロリポプラン)のphpMyAdminでインポートした時の話。インポートしたら以下のSQL文エラーが発生しました。CREATE DATABASE IF NOT EXISTS `データベース名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;エラーの解決方法解決方法は簡単。エクスポートしたSQLファイルをメモ帳などのエディタで開くCREATE DATABASE IF NOT EXISTSで始まる1行を削除その下にUSE ‘データベース名’とあったらソレも削除です。この修正をSQLファイルにしたら、保存してもう一度phpMyAdminでインポートしてみましょう。上記のエラーは解決されているハズです。ちなみにSQLファイルとはphpMyAdminでエクスポートした、「ファイル名.sql」と拡張子がsqlになっているファイルです。ドット(.)から始まる拡張子が見えない場合は以下のページを参考に拡張子を表示して下さい。(Windows、Mac両方載せておきます)ファイルの拡張子を表示するには? Windows 7、Windows Vista、Windows XP でファイルの拡張子を表示する方法を初心者向けに説明したマイクロソフトの情報です。(PC とーく)OS X Mountain Lion: ファイル名拡張子を表示する/隠す 通常、ファイル名拡張子は OS X では隠されていますが、必要に応じて表示させることができます。どうしてエラーが起きたの?このエラー原因のSQL文「CREATE DATABASE IF NOT EXISTS」の意味は、「データベースを作成するよ。でも既に○○○(データベース名)があったらデータベースは作成しないよ」です。本来なら問題無いSQL文なのですが、ロリポップのロリポプランでは不要になります。何故かというと、ロリポプランではデータベースが1つしか使えないので、既にデータベースがある場合CREATE DATABASEでそれ以上作成出来ません。今回私はローカルにあるデータベースからサーバー上のデータベースにインポートしようとしたワケなのですが、ローカルにあるデータベース名とサーバー上のデータベース名が異なっていたんですね。結果、CREATE DATABASEのオプションであるIF NOT EXISTSは「あ、このデータベース名は無いね、作成しておくわ」と判断し、しかしロリポプランはデータベースが1つしか使えない設定になっている為エラーが起きた、という顛末です。これらが理由で新しいデータベースが作成されることはありません。セットで付いてるUSE `データベース名`も要らないので削除しておきます。(このUSEは指定したデータベースに接続する命令文です)ロリポップのロリポプラン以外にも、同じくデータベースが1つしか使えないサーバーでは同様のエラーが起きるのではないかと予想します。ロリポップはチカッパプランにするとデータベースが30個まで使えるようになりますが、私はロリポップからXサーバーに乗り換えました。価格ではロリポップの方が安いのですが、高機能・安定性で言えばXサーバーに軍配が上がります。そしてなにより、運営側が7日間分のデータを自動でバックアップしています。最悪「データが消えた&自分でバックアップを取っていなかった」場合に申し込みをすると、データの提供をして貰える仕組みがあるので安心出来ますよ(手数料はかかります)。オススメです。photo credit: ditatompel via photopincc