无法删除MySQL InnoDB表

时间:2018-03-12 09:36:46

标签: innodb mysql-5.1

我正在使用MySQL 5.1.56

我有一个包含大约70个表格的数据库,但我遇到了特定损坏表格的问题,例如TABLE_X

当我尝试访问该表时 MySQL的>从Table_x中选择*; ERROR 1105(HY000):无法从.par文件中读取

我无法在表格中添加分区。

当我尝试删除表时,我看到以下错误。 MySQL的> drop table Table_X; ERROR 1051(42S02):未知表'Table_X'

创建查询给出错误:ERROR 1050(42S01):表'Table_X'已存在。

在我的数据库文件位置,我可以看到相应的Table_X.frm,Table_X.ibd和Table_X.par文件。但另外,我还在该位置看到一个文件'#sql-Table_X.frm'。

当我检查information_Schema数据库中的“Tables”表时,此特定表的Engine值为NULL,其中应该是InnoDb。 该表似乎以某种方式被破坏了。

我尝试了Flush-tables命令,但这也无济于事。我仍然无法删除并重新创建表格。

我不想备份这个微粒子表,但我需要保留数据库的其他表。有什么办法,我可以重新创建这个单独的表而无需恢复整个数据库。

1 个答案:

答案 0 :(得分:-1)

获取此错误的原因有很多,可能是您的mysql服务状态为停止或您在运行查询之前未选择数据库,或者您可能没有该数据库的用户访问权限。检查这类问题。