这应该很容易......我有一个包含大约 20 个表的数据库,全部在 MyISAM 中。我想将它们转换为 InnoSB,所以我执行了:
alter table xxxx engine = InnoDB;
结果我得到
ERROR 1050 (42S01): Table './yyy/xxx' already exists
我尝试了几张桌子,并认为它会发生在所有桌子上,直到我找到两张正确转换的桌子。SHOW TABLE STATUS 确认了正确的转换。奇怪的是,其他几个表的结构非常相似或相同,但没有转换。
MySQL版本是5.5.27...我通过phpMyAdmin尝试过,直接通过mysql命令。结果相同。
注意:我找到了下面指出的线程,这里有一些测试: - 我做了 mysqlchk 表 - 没关系。- DROP TABLE 建议工作,表格消失, - REPAIR TABLE 然后报告它不能归档表格(这是合乎逻辑的)。- 如果我从备份中恢复表,则会再次出现相同的错误。
是否存在我看不到的并行 InnoDB 表?