MySQLバージョン4.x以前からエクスポートしたsqlファイルはTYPE = MyISAM を ENGINE = MyISAM に変更する

公開
更新日

スポンサーリンク

さて、前のエントリで書いたとおり、さくらインターネットのレンタルサーバーにインストールされているMySQLをバージョン4.0.2から5.1にバージョンアップしました。ついでにWordPressのデータをxampp上のMySQLにもインポートしようとして、つまづいたところがあったのでメモしておきます。

表題のとおりなのですが、バージョン4.0.2からsqlファイルをエクスポートすると、以下のような内容になっています。

CREATE TABLE IF NOT EXISTS `wp_bv_blc_instances` (
  `instance_id` int(10) unsigned NOT NULL auto_increment,
  `link_id` int(10) unsigned NOT NULL default '0',
  `source_id` int(10) unsigned NOT NULL default '0',
  `source_type` enum('post','blogroll','custom_field') NOT NULL default 'post',
  `link_text` varchar(250) NOT NULL default '',
  `instance_type` enum('link','image') NOT NULL default 'link',
  PRIMARY KEY  (`instance_id`),
  KEY `link_id` (`link_id`),
  KEY `source_id` (`source_id`,`source_type`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

最終行がTYPE=MyISAMとなっていますが、この書き方はMySQLのバージョン4.0.2以前の書き方で、現在は非推奨となっています。

このままで新しいバージョンのMySQLにインポートしようとすると、エラーが出てインポートできません。この部分をENGINE=MyISAMと書き換えると解決し、うまくインポートできるようになります。

スポンサーリンク


Comment


  1. eggrice : 投稿日:2012年6月17日 12:09 PM

    さくらでデータベースのバージョンアップをしていて、インポート時にエラーが出て焦りました。
    有用な情報を本当にありがとうございました。

  2. タビエル : 投稿日:2014年12月15日 5:22 PM

    おなじくさくらのDBのバージョンアップでつまずいてて、この記事にめっちゃ助けられました。ありがとうございます。

  3. 柴犬 : 投稿日:2014年12月30日 11:14 AM

    本当に助かりました。
    泣きそうになりましたが、天の助けでした。
    この問題プラスコメントのスパムの文字化けのせいで、
    「’」が消えて止まってしまうという2つの症状で手こずりました。
    本当にありがとうございました。