MySQL Error number: MY-012044; Symbol: ER_IB_MSG_219; SQLSTATE: HY000

文档解释

Error number: MY-012044; Symbol: ER_IB_MSG_219; SQLSTATE: HY000

Message: %s

错误说明:

MY-012044 (ER_IB_MSG_219) 错误是MySQL数据库引擎的一种常见类型。这个错误的完整消息为:The used table type doesn’t support “*”的FROM子句中的查找表。该消息表明MySQL无法完成用户所请求的操作——在FROM子句中搜索表。这是由于当前使用的表类型不支持这种特定功能。

常见案例

从MySQL 5.6版本开始,对于某些表类型,搜索表的功能不再被支持。通常,这种情况发生在当MySQL正在使用InnoDB表,但无法识别一些指定的表的情况下。用户可能使用FROM子句下的JOIN或SELECT语句,以查找特定的表,但在这种情况下,MySQL就会出现ER_IB_MSG_219错误消息。

解决方法:

为了解决此问题,将当前使用的表类型更改为另一种支持FROM子句表搜索的表类型,比如MyISAM或Merge。要修改表类型,首先需要连接到MySQL数据库,然后使用以下命令将特定表的表类型更改为MyISAM或Merge:

ALTER TABLE

ENGINE = MyISAM;

ALTER TABLE

ENGINE = MERGE;

更改表类型后,此表就可以在FROM子句中进行搜索了。当然,还可以使用原始表类型。在这种情况下,用户可以把FROM子句中搜索表的操作改用SELECT语句,只需指定被搜索表的明确名称就行了:

SELECT * FROM

;

在这种情况下,MySQL不会抛出ER_IB_MSG_219错误消息,而是正常执行用户指定的操作。

你可能感兴趣的