提问者:小点点

数据库表显示在列表中,但系统告诉我它们不存在


我一直通过Workbench和phpMyAdmin在Windows/XAMPP中使用MySQL。创建了10个数据库,我仍然在两个程序中看到它们。我能够使用他们所有的很多周,但今天,其中一半都在给出“错误代码1146-表不存在”。

在Workbench中,当我执行“show databases;”和“show TABLES IN xxxdb;”,它们会给出预期的结果。但当我执行“select*FROM xxxx;”时,它给出了1146个错误。

在phpMyAdmin中,我也看到了DB的和表,但是当我单击表时,我得到了同样的错误。

我注意到那些可以的文件有.frm和.ibd文件。问题是缺少.ibd文件。

这里可能会发生什么,又是如何发生的?

提前道谢。


共1个答案

匿名用户

我担心你的数据库可能已经损坏了。

是否尝试运行mysqlcheck-u mysql_username-p database_name

(我相信它在windows上的默认位置是C:\programfiles\apachefriends.org\xampp\mysql\bin\mysqlcheck.exe)

如果这仍然给你同样的错误,我很担心除了恢复备份之外,没有什么其他的事情要做。

数据库可能会损坏,原因有很多,例如。当系统关闭、崩溃或在写入某些内容时断电时。

祝你好运!