テーブルエンジンがmyISAMであるmysqlデータベースのsqlファイルを私たちに送信している顧客がいて、データベースにインポートするときやインポートする前にInnoDBにテーブルを変換する必要があります。これは可能ですか?インポート時にmysqlテーブルストレージエンジンを変更する
歓声、 ピーター
テーブルエンジンがmyISAMであるmysqlデータベースのsqlファイルを私たちに送信している顧客がいて、データベースにインポートするときやインポートする前にInnoDBにテーブルを変換する必要があります。これは可能ですか?インポート時にmysqlテーブルストレージエンジンを変更する
歓声、 ピーター
あなたはこれがデータ自体は正確なテキストengine=myisam
が含まれていないことを前提としない
sed -i 's/engine=myisam/engine=innodb/gi' userfile.sql
Linux上であることが幸運であれば、あなたはそれがもう少し厳しいことができますこのように:
sed -i 's/) ENGINE=InnoDB/) ENGINE=MyISAM/g' junk.sql
テーブル作成ステートメントは次のようになります。
CREATE TABLE `Table1` (
`user_id` int(11) DEFAULT NULL,
`user_name` varchar(5) DEFAULT NULL,
`user_rating` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
そして、我々はそれが大文字と小文字の区別がなされてきた、それはまたのために外を見て)と「」ENGINEキーワード
の前の文字が。また、[変換中_caveats _](HTTPS上でご確認のsedの第2の使用中: //mariadb.com/kb/en/mariadb/converting-tables-from-myisam-to-innodb/) –