Wondercease

浙ICP备2022017321号

Table ‘xxx.xxx’ doesn’t exist

原因:

1.插入数据或更改数据时使用的表输入错误

2.linux的mysql区分大小写,数据库中的表名与输入的sql语句中的使用的表名大小写不一致导致的

3.数据库操作时,误删mysql的文件导致(常见于数据库升级或迁移)

4.在编译安装mysql时,没有指定innodb存储引擎

解决方法:

1.查看自己的sql语句是否正确

2.查看是否有此表,不要忽视大小写

我是配置文件连的数据库连错了

解决方法如下:

<1>查找该mysql数据库的配置文件my.cnf的路径

<2>在my.cnf中的[mysqld]下,追加lower_case_table_names = 1 1表示不区分大小写,0区分大小写

<3>重启mysql,重新在此表插入数据,看是否可用

systemctl restart maraidb/mysqld(centos7)

/etc/init.d/mysqld restart(centos6)

3.如该表真的不存在,则可能是表被误删或数据库迁移缺失文件等原因

方法一:创建此表。

方法二:修复损坏表

repair table 表名;

方法三:拷贝缺失文件(最常用方法)

<1>从另外相同的mysql数据库或之前的数据库备份中导出该表的数据,然后通过命令行导入进去

<2>或直接拷贝原有数据库文件”.frm”、”.MYD”、”*.MYI”等文件,如果原数据库引擎是InnoDB,切记还需拷贝ibdata1文件

<3>重启数据库

4 如果是编译安装mysql时,没有指定innodb存储引擎

<1>重新编译

发表评论

您的电子邮箱地址不会被公开。