MySQL Error number: MY-012064; Symbol: ER_IB_MSG_239; SQLSTATE: HY000

文档解释

Error number: MY-012064; Symbol: ER_IB_MSG_239; SQLSTATE: HY000

Message: %s

错误说明

MY-012064,ER_IB_MSG_239 这是一个MySQL错误,以MySQL消息(ER)开头。此消息对应于SQLSTATE值HY000,表示一般错误,可以由更具体的MySQL消息消息描述。

此MySQL消息具有以下说明:“表更改要求使用已失效的存储引擎,必须更新表定义并重试更改。”这是一条具体的错误,一般来说,表格的存储引擎无效,或者应该改变表格的存储引擎,但没有做到这一点。

常见案例

此错误通常发生在两种情况下:

1.尝试更改已存在表格,但表格被声明为一个无效的存储引擎,比如MyISAM存储引擎;

2.尝试更改表格,但表格被声明为一个失效的存储引擎,但更改表格时没有转换为新的存储引擎,比如将MyISAM表格更新为InnoDB存储引擎。

解决方法

对于ER_IB_MSG_239这类MySQL错误,有2个主要的解决方法:

1.如果表格被声明为无效的存储引擎,例如MyISAM,可以通过ALTER TABLE语句更改表格的存储引擎,并将其转换成一个正确的存储引擎,如InnoDB: ALTER TABLE tablename ENGINE=InnoDB;

2.如果表格被声明为失效的存储引擎,但更改表格时没有转换成新存储引擎,可以使用DROP TABLE字句来删除当前表格,然后再次使用CREATE TABLE字句来创建正确格式的表格,同时指定一个正确的存储引擎: DROP TABLE tablename;

CREATE TABLE tablename (….)

ENGINE=InnoDB;

你可能感兴趣的