それは簡単だったはずです...私はMyISAMにある約20のテーブルを持つデータベースを持っています。それらを InnoSB に変換したかったので、次のように実行しました。
alter table xxxx engine = InnoDB;
その結果、私は得る
ERROR 1050 (42S01): Table './yyy/xxx' already exists
いくつかのテーブルを試してみましたが、正しく変換された 2 つのテーブルにヒットするまで、すべてで起こると思いました。SHOW TABLE STATUS により、正しい変換が確認されました。不思議なことに、他のテーブルのいくつかは非常に類似または同等の構造を持っていましたが、変換されませんでした。
MySQL のバージョンは 5.5.27 です... phpMyAdmin を使用して、mysql コマンドを直接使用してみました。同じ結果です。
注: 以下に示すスレッドを見つけました。テストの一部を以下に示します。 - テーブルに対して mysqlchk を実行しました。問題ありません。- 提案された DROP TABLE が機能し、テーブルが消えます。 - REPAIR TABLE は、(論理的に) テーブルをファイルできないと報告します。- バックアップからテーブルを復元すると、同じエラーが再び表示されます。
並列の InnoDB テーブルが存在する可能性がありますが、それは表示されませんか?