MySQL Error number: MY-012789; Symbol: ER_IB_MSG_964; SQLSTATE: HY000

文档解释

Error number: MY-012789; Symbol: ER_IB_MSG_964; SQLSTATE: HY000

Message: %s

错误说明:

MySQL错误代码MY-012789,代表ER_IB_MSG_964(HY000),说明在创建InnoDB数据表时发生了一个错误,导致非法的空闲值。

常见案例

ER_IB_MSG_964错误特别常见于创建InnoDB表时,尤其是当上述表的空闲设置为NULL时。在此情况下,即使你的SQL语句写的没有问题,调用的函数也适用于该类型,你也可能会收到ER_IB_MSG_964错误。

解决方法:

要解决ER_IB_MSG_964,最重要的是要确定你的SQL语句。如果你的语句不正确,你就需要修复它。

另一种解决方法是检查你的“ Innodb_monitor_enable”变量,要检查该变量,请执行以下查询:

SHOW VARIABLES LIKE ‘inndb_monitor_enable’;

如果结果为“ OFF”,则可以使用以下查询更改它:

SET GLOBAL innodb_monitor_enable = ‘ALL’;

重新执行查询“ SHOW VARIABLES LIKE ‘inndb_monitor_enable’”,确保结果显示为“ ALL”,然后再次尝试查询错误的SQL语句,应将错误修复。

此外,还可以检查MySQL配置文件(例如my.cnf或my.ini)中的innodb_file_per_table设置,如果该设置被设置为FALSE,那么你必须更改它并将其设置为TRUE,然后再次尝试重新查询SQL语句,此时应为正确执行,并且不会抛出ER_IB_MSG_964错误。

你可能感兴趣的