错误?#1146 - 表'xxx.xxxxx'不存在

Sha*_*eer 30 mysql phpmyadmin mysql-error-1146

我正在使用Windows XP.我在phpMyAdmin中使用其内置的create table功能创建了一个表,我的数据库名是ddd.

它生成以下代码:

CREATE TABLE  `ddd`.`mwrevision` (

`asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sddd` INT NOT NULL
) ENGINE = INNODB;
Run Code Online (Sandbox Code Playgroud)

并显示以下错误:

MySQL said:     
#1146 - Table 'ddd.mwrevision' doesn't exist 
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

sem*_*sha 27

我过去也遇到过同样的问题.在将数据库文件移动到新位置并更新mysql服务器之后,所有这些都发生了.所有带有InnoDB引擎的表都从我的数据库中消失了.我试图重新创建它们,但mysql一直告诉我1146: Table 'xxx' doesn't exist,直到我重新创建我的数据库并重新启动mysql服务.

我认为有必要阅读InnoDB表二进制文件.

  • 这里的关键部分似乎是最后一句 - 重新创建数据库并重新启动mysql. (6认同)
  • 重启mysql解决了我的问题.谢谢. (2认同)

小智 11

我有同样的问题,无法通过网络得到一个好的提示,所以我为你和所有需要的人分享了这个.

在我的情况下,我将数据库(所有文件:frm,myd)复制到MySQL数据文件夹中的数据文件夹(在家中使用Wamp).一切都没问题,直到我想创建一个表并出现错误#1146 Table '...' doesn't exist!.

我使用Wamp 2.1和MySQL版本5.5.16.

我的解决方案

  1. 将数据库导出到文件;

  2. 验证导出的文件是否正常!!

  3. 丢弃我遇到问题的数据库;

  4. 创建一个与最后一个名称相同的新数据库;

  5. 将文件导入数据库.

为我解决问题.现在我可以再次创建表而不会出错.

  • 通过复制frm,myd myi文件,您只复制了数据库模式.对于INNODB表,实际数据驻留在`ibdata1`文件中.如果你复制了`ibdata1`和`ib_logfile?`文件,那就可以了. (6认同)

Muh*_*man 5

重新启动MySQL对我来说很好。

  • 对我也有帮助 (2认同)