2016-07-29 5 views
1

テーブルエンジンがmyISAMであるmysqlデータベースのsqlファイルを私たちに送信している顧客がいて、データベースにインポートするときやインポートする前にInnoDBにテーブルを変換する必要があります。これは可能ですか?インポート時にmysqlテーブルストレージエンジンを変更する

歓声、 ピーター

+0

の前の文字が。また、[変換中_caveats _](HTTPS上でご確認のsedの第2の使用中: //mariadb.com/kb/en/mariadb/converting-tables-from-myisam-to-innodb/) –

答えて

2

あなたはこれがデータ自体は正確なテキスト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キーワード

+0

あなたのアンヴェールに感謝します – zozo6015

+0

喜んで助けてください – e4c5

関連する問題