DBAtlas · 数据库运维图谱

1146: Table doesn't exist(表不存在)

MySQL

含义

查询中引用的表不存在,或在当前数据库中找不到。

原因

表确实不存在、选择了错误的数据库、表名拼写错误、Linux 上表名区分大小写(lower_case_table_names),或 InnoDB 表文件(.ibd)丢失/损坏(5.7 及更早版本还包括 .frm 定义文件;8.0 中定义保存在数据字典中)。

解决方法

核实表:SHOW TABLES; 并选择正确的数据库:USE mydb。注意大小写敏感(尤其在 Linux 上)。通过 SELECT ... FROM information_schema.tables 检查表名和 schema。如果存在 InnoDB 文件问题,可能需要恢复/修复。

在 DBAtlas 中打开 →

同一数据库的其他条目