文档解释
Error number: MY-010929; Symbol: ER_SYSTEM_TABLES_NOT_SUPPORTED_BY_STORAGE_ENGINE; SQLSTATE: HY000
Message: Storage engine ‘%s’ does not support system tables. [%s.%s].
错误说明
MySQL ER(Error)号MY-010929:出现Symbol:ER_SYSTEM_TABLES_NOT_SUPPORTED_BY_STORAGE_ENGINE错误,语法错误的SQLSTATE的状态为HY000。
该错误通常表示MySQL尝试使用数据库引擎支持的表,但这些表在数据库引擎中不受支持。 此错误中给出的表类型为“系统表”,这意味着MySQL试图在数据库引擎中使用一种只支持适用于查询或元数据的内置表类型(如INFORMATION_SCHEMA)。
常见案例
报错常出现在对系统表进行语句操作时,MySQL尝试使用数据库引擎支持的表,但这些表在数据库引擎中不受支持,例如当用户尝试在MySQL存储引擎中创建或访问INFORMATION_SCHEMA表时。
解决方法
1.检查INFORMATION_SCHEMA表是否受支持
确保不要尝试在MySQL存储引擎中创建或访问INFORMATION_SCHEMA表。 INFORMATION_SCHEMA表不受MySQL存储引擎支持,并且尝试使用这些表会导致ER_SYSTEM_TABLES_NOT_SUPPORTED_BY_STORAGE_ENGINE错误。
2.检查存储引擎
确保你正在使用MySQL支持的存储引擎,如InnoDB和MSD。 伴随着操作系统表的支持,MySQL会限制只有几种存储引擎。
3.更改SQL语句
下面是一些可以被更正的sql语句:
– 无法更改系统表的内容。
– SQL语句的操作符也可能引起这种错误,例如,FROM或WHERE子句。
– 错误的SQL子句可能会导致该错误,例如查询INFORMATION_SCHEMA表。
– 使用正确的表,更新SQL结构,或改变SQL语句,可以解决此错误。
总结
MySQL ER(Error)号MY-010929:出现Symbol:ER_SYSTEM_TABLES_NOT_SUPPORTED_BY_STORAGE_ENGINE错误,语法错误的SQLSTATE的状态为HY000。 这通常表示MySQL尝试使用数据库引擎支持的表,但这些表在数据库引擎中不受支持。为了解决这个错误,应当检查INFORMATION_SCHEMA表是否受支持,检查存储引擎是否受支持,以及更改SQL语句。如果可以正确操作表,将能够修复该错误。