
☉源码版本 5.7.14
在MYSQL应用innodb的时刻我们有时刻会看到如下报错:
- ERROR 1146 (42S02): Table 'test.test1bak' doesn't exist
起首总结下原因:
- 缺乏frm文件
- innodb数据字典不包含这个表
我们重点评论辩论情况2,因为情况1是显而易见的。
在应用innodb存储引擎的时刻某些时刻我们show tables可以或许看到这个表,然则如不雅进行任何操作会报错如下:
经由过程扫描字典的B+树进行加载
- mysql> show tables;
- | test1bak |
- mysql> desc test1bak ;
- ERROR 1146 (42S02): Table 'test.test1bak' doesn't exist
也许你会说我明明可以或许看到这个表啊,为什么拜访还会报错呢?其实要清跋扈innodb有本身的数据字典,只要有frm 文件存在show tables就能看到,然则最终是否可以或许正常打开表构造在innodb中还依附于innodb的数据字典,重要的包含:
1、INNODB_SYS_columns
2、INNODB_SYS_FIELDS
3、INNODB_SYS_TABLES
4、INNODB_SYS_INDEXES
- /* Table and tablespace flags are generally not used for the Antelope file
- format except for the low order bit, which is used differently depending on
- where the flags are stored.
- ==================== Low order flags bit =========================
- | REDUNDANT | COMPACT | COMPRESSED and DYNAMIC
- SYS_TABLES.TYPE | 1 | 1 | 1
- dict_table_t::flags | 0 | 1 | 1
- FSP_SPACE_FLAGS | 0 | 0 | 1
- fil_space_t::flags | 0 | 0 | 1
- /** Width of the COMPACT flag */
- #define DICT_TF_WIDTH_COMPACT 1
- /** Width of the ZIP_SSIZE flag */
推荐阅读
DIY就是靠你本身着手做的意思,这意味着DIY拥有很大年夜的自由度和那份无人能赐与的成就感,但当然了,伴跟着的也拥有必定的难度与障碍。对于我们DIY装机来说,那些DIY玩家应当也就是凭借着前面所说那份>>>详细阅读
本文标题:关于MySQL ERROR 1146 Table doesnt exist的解析
地址:http://www.17bianji.com/lsqh/37797.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示