我试图使用DROP语句删除一个表,但我可以使用not.Instead,我尝试了以下步骤……我从目录中删除了相应表中的.frm和.ibd文件。
然后我使用备份文件中的create语句重新创建table...and,奇怪的是我收到消息说表已经存在(尽管删除了上述文件).
在create语句之后,目录再次拥有.ibd文件。
我不知道该做什么或假设什么。
发布于 2015-07-21 12:02:59
首先看看InnoDB体系结构(来自Percona CTO Vadim Tkachenko)

你的问题很简单。您有一个损坏的数据字典条目。在系统表空间文件ibdata1中是表空间ids的列表。
appointments.business_users有一个条目。删除.frm和.ibd of appointments.business_users并不会从数据字典中删除其表空间id。您需要从数据字典中删除该条目。
你为什么还会犯这个错误?尽管您可以使用CREATE TABLE并生成.frm和.ibd文件,但.ibd文件中的表空间id与数据字典中的原始表空间id不匹配。
这里有一些关于如何在适当的地方修复它的旧帖子
如果数据库不太大,可以执行以下操作:
appointments.business_users以外的所有东西CREATE TABLE的appointments.business_users命令不管怎样,你有一些家庭作业要做。
https://dba.stackexchange.com/questions/107608
复制相似问题