如果我show table
在 mysql 控制台中运行查询,则会列出 innodb 表。但是当我尝试类似的查询时select * from tablename
,它说表不存在。
我如何修复此问题并使表格及其数据再次正常工作?
答案1
原因是SHOW TABLES
当找到相应的 frm 文件时,会读取数据库目录的内容并显示表格。
当您从表中选择时,它会报告错误,因为 InnoDB 字典没有该表。
这是字典和可用 .frm 文件集之间的不一致
如果我show table
在 mysql 控制台中运行查询,则会列出 innodb 表。但是当我尝试类似的查询时select * from tablename
,它说表不存在。
我如何修复此问题并使表格及其数据再次正常工作?
原因是SHOW TABLES
当找到相应的 frm 文件时,会读取数据库目录的内容并显示表格。
当您从表中选择时,它会报告错误,因为 InnoDB 字典没有该表。
这是字典和可用 .frm 文件集之间的不一致