mysql 使用show tables表存在,但是select时却提示表不存在!

这个问题困扰了很久,情况是某张表被损坏。

直接使用select查询时报错:

ERROR 1146 (42S02): Last_Error: Error 'Table 'xxxxxx' doesn't exist' Error " ERROR 1146 (42S02): Table 

咦!怎么表无缘无故就不见了???

使用 show tables; 命令却发现表是存在的,瞬间懵逼了。无论发生什么情况,肯定是有原因的,哈哈哈。

最终解决方案是,不需要停mysql服务,直接通过mysql的my.conf查看到datadir目录,进入目录后,找到指定出问题的表关联文件:

1、tableName.frm
2、tableName.ibd
直接删除,至此才把出问题的表完全删除掉。

你可能感兴趣的:(数据库)