Mysql 5.7.26 新增表列失败后提示表不存在了

106 天前
 s609926202
使用 Navicat 新增了 2 列,但是失败了,现在在视图里找不到这个表了,且 select 这张表时也提示 table 不存在。。。

但是通过命令行进入 mysql 后,show tables 还能显示这张表,以及在 mysql 数据库目录下也能找到这张表( frm,ibd 文件都在)。

检查 mysql 错误日志发现这行:
```
Table xx contains 33 user defined columns in InnoDB, but 31 columns in MySQL. Please check INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
```

请教下这种情况如何恢复啊?
859 次点击
所在节点    MySQL
2 条回复
jay2049
106 天前
命令行用 alter table 把你新增的列删了试试。
s609926202
106 天前
@jay2049 #1 还是提示:Table 'xx' doesn't exist ,我查 information.tables 时,这张表已经不在里边了。。

猜测是 information.tables 里不存在,但实际数量还在。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX