Error number: MY-013638; Symbol: ER_IB_MSG_1374; SQLSTATE: HY000
Message: %s
错误说明:
MySQL错误代码MY-013638和SQLSTATE HY000(ER_IB_MSG_1374)指出了一个问题或错误:另一个存储引擎的意外的表格的格式的。这个仪表示MySQL试图操作一张表,但是这张表的格式和之前注册为另一张仪表相同或者相似,在MySQL中,可能是不允许操作此表的。
这种情况可能发生在MySQL尝试从其他引擎迁移表时。例如当MySQL尝试将一张InnoDB表从MyISAM引擎迁移或反之时,这个问题就可能出现。此外,当MySQL尝试在引擎之间进行表格复制时也可能发生这种情况。
解决方法:
为了解决这个问题,可以使用ALTER TABLE 语句来调整表的引擎类型。要确保表的引擎重新定义,只需要在ALTER TABLE语句中指定正确的引擎类型,例如,指定MyISAM或InnoDB引擎:
ALTER TABLE table_name ENGINE=MyISAM;
ALTER TABLE table_name ENGINE=InnoDB;
如果表的引擎被成功更新,可以让MySQL重新尝试运行之前的命令并预期此问题不复存在。
此外,MySQL也可以手动禁用类似MyISAM和InnoDB表之间的STRICT_MODE 。要禁用这种模式,可以使用以下语句:
SET GLOBAL STRICT_TRANS_TABLES=OFF;
禁用之后,MySQL也可以重新尝试MySQL尝试执行的命令,并看到这个错误不复存在。