Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 臭虫#1146-表';xxx.xxxxx';不';不存在_Mysql_Phpmyadmin_Mysql Error 1146 - Fatal编程技术网

Mysql 臭虫#1146-表';xxx.xxxxx';不';不存在

Mysql 臭虫#1146-表';xxx.xxxxx';不';不存在,mysql,phpmyadmin,mysql-error-1146,Mysql,Phpmyadmin,Mysql Error 1146,我正在使用windows XP。我正在phpMyAdmin中使用其内置的创建表功能创建表, 我的数据库名是ddd 它生成以下代码: CREATE TABLE `ddd`.`mwrevision` ( `asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `sddd` INT NOT NULL ) ENGINE = INNODB; 出现以下错误: MySQL said: #1146 - Table 'ddd.mwrevision' does

我正在使用windows XP。我正在phpMyAdmin中使用其内置的创建表功能创建表, 我的数据库名是
ddd

它生成以下代码:

CREATE TABLE  `ddd`.`mwrevision` (

`asd` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sddd` INT NOT NULL
) ENGINE = INNODB;
出现以下错误:

MySQL said:     
#1146 - Table 'ddd.mwrevision' doesn't exist 

可能有什么问题?

列名在表中必须是唯一的。同一个表中不能有两个名为
asd
的列。

从CMD运行&%path%=设置为mysql/bin


mysql\u升级-u用户-ppassword

我过去也遇到过同样的问题。所有这些都是在将数据库文件移动到新位置和更新mysql服务器之后发生的。所有带有InnoDB引擎的表都从我的数据库中消失了。我试图重新创建它们,但mysql告诉我,在我重新创建数据库并重新启动mysql服务之前,表“xxx”一直不存在


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

我也有同样的问题,在网上找不到很好的提示,所以我将此分享给你和所有需要的人

在我的情况下,我将一个数据库(所有文件:frm,myd)复制到MySQL数据文件夹中的数据文件夹中(在家中使用Wamp)。在我想要创建一个表并且错误
Ѻtable'…'不存在之前,一切都是正常的

我在MySQL版本5.5.16中使用Wamp 2.1

我的解决方案:

  • 将数据库导出到文件

  • 验证导出的文件是否真的正常

  • 在我有问题的地方删除数据库

  • 创建一个与上一个数据库同名的新数据库

  • 将文件导入数据库

  • 对我来说,问题解决了。现在,我可以再次创建表而不会出错。

    检查文件名。

    您可能需要在phpmyadmin中创建一个新数据库,该数据库与您尝试导入的数据库相匹配。

    我也遇到了同样的问题。我试图在mysql中创建一个表,但得到了相同的错误。我重新启动了mysql服务器并运行了该命令,在重新启动后能够创建/迁移表。

    今天,我面临着同样的问题。我当时处境非常困难,但我用什么id创建了一个不同名称的表,例如(modulemaster没有创建,然后我创建了modulemaster1),在创建表之后,我只是重命名表。

    最近我遇到了同样的问题,但是在Linux服务器上。数据库崩溃了,我通过简单地复制
    /var/lib/mysql/*
    (wamp中的模拟mysql数据文件夹)从备份中恢复了它。恢复后,我不得不创建新表,并得到mysql错误#1146。我试图重新启动mysql,但它说它无法启动。我检查了mysql日志,发现mysql根本无法访问其DB文件。我检查了/var/lib/mysql/*的所有者信息,得到了
    'myuser:myuser'
    (myuser就是我)。但它应该是
    'mysql:adm'
    (自己的开发人员机器也是如此),所以我把所有者改为'mysql:adm'。在mysql正常启动之后,我可以创建表,或者执行任何其他操作

    因此,在移动数据库文件或从备份中恢复后,请检查mysql的访问权限


    希望这有帮助…

    我之所以要面对这个问题,是因为我有两个“models.py”文件,其中包含稍微不同的字段。 我通过以下方式解决了这一问题:

  • 删除其中一个models.py文件
  • 更正对已删除文件的引用
  • 然后运行manage.py syncdb

  • 我从另一个位置复制mytable.idb表文件后遇到此问题。要解决此问题,我执行了以下操作:

    ALTER TABLE mydatabase.mytable DISCARD TABLESPACE;
    
    复制mytable.idb

    ALTER TABLE mydatabase.mytable IMPORT TABLESPACE;
    

    重新启动MySql

    我也遇到了同样的问题。它发生在windows启动错误之后,似乎一些文件因此而损坏。我确实从保存的脚本中再次导入了数据库,它工作正常。

    重新启动MySQL对我来说工作正常

    我今天遇到了同样的问题。我试图创建一个表
    users
    ,并被提示
    错误1146(42S02):表用户不存在
    ,这没有任何意义,因为我只是试图创建表

    然后,我试图通过键入
    drop table users
    来删除该表,因为我知道它将失败,因为它不存在,我得到了一个错误,即
    未知表用户
    。在得到这个错误后,我再次尝试创建表,神奇的是,它成功地创建了表

    我的直觉是,我可能以前创建过这个表,但不知怎么的,它并没有被完全清除。通过明确地说
    DROP TABLE
    我设法以某种方式重置了内部状态?但这只是我的猜测


    简而言之,尝试删除您正在创建的任何表,然后再次创建它。

    在我的例子中,即使该表在PhpMyAdmin中不可见,我也运行了此命令:

    DROP TABLE mytable

    然后

    创建表


    为我工作

    我遇到这个问题是因为触发器不工作。.在我删除触发器后工作。

    正如上面提到的那样,复制table.frm文件和ibdata1文件对我有效

    简言之:

  • 关闭DB explorer客户端(例如工作台)
  • 停止MySQL服务(Windows主机)
  • 制作几乎所有内容的安全副本
  • 将表文件(例如mytable.frm)的副本保存到schema数据文件夹(例如MySQL服务器/data/{yourschema})
  • ibdata1文件的副本保存到数据文件夹(即MySQL服务器/data)
  • 重新启动MySQL服务
  • 检查DB explorer客户端中的表现在是否可访问、可查询等

  • 在那之后,一切都很好。(如果你成功了,别忘了备份!)

    在我的例子中,MySQL的参数<代码>小写字母表名称已配置
    =0


    它导致与使用大写有关的查询无法工作。

    对我来说,它是一个表名大写/小写