web-dev-qa-db-ja.com

MySQLのテーブルエンジンの変更

Mysqlおよびmysqlワークベンチを使用しています。 innodbエンジンで5つのテーブルを作成しました。エンジンをチェックしましたが、データを挿入する前はinnodbでした。 5つのMyISAMテーブルからデータを挿入しましたが、innodbテーブルはMyISAMになりました。それらを変更することはできません。 alter table engine = innodbを使用しましたが、機能しません。

46
AliBZ

マニュアルから: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

たとえば、テーブルをInnoDBテーブルに変換するには、次のステートメントを使用します。

ALTER TABLE t1 ENGINE = InnoDB;

テーブルのストレージエンジンを変更しようとした結果は、目的のストレージエンジンが使用可能かどうかとNO_ENGINE_SUBSTITUTIONセクション5.1.7 、「サーバーSQLモード」で説明されているSQLモード。

http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_no_engine_substitution

テーブルを作成するときに、エンジンタイプが使用できないという警告が表示されますか?

75
Matt Healy

明らかではありません。テーブルを編集してから列タブを選択すると、エンジンウィジェットはすぐには表示されません。編集ウィンドウの右上に、下向きの2つの山形が表示されます。 一度矢印を選択すると、追加のウィジェットが表示されます。右上隅には、スキーマとエンジン用のウィジェットがあります。

Result

23
ClearCrescendo