Mysql 1050 错误“表已存在”,实际上它不存在

新手上路,请多包涵

我正在添加此表:

 CREATE TABLE contenttype (
        contenttypeid INT UNSIGNED NOT NULL AUTO_INCREMENT,
        class VARBINARY(50) NOT NULL,
        packageid INT UNSIGNED NOT NULL,
        canplace ENUM('0','1') NOT NULL DEFAULT '0',
        cansearch ENUM('0','1') NOT NULL DEFAULT '0',
        cantag ENUM('0','1') DEFAULT '0',
        canattach ENUM('0','1') DEFAULT '0',
        isaggregator ENUM('0', '1') NOT NULL DEFAULT '0',
        PRIMARY KEY (contenttypeid),
        UNIQUE KEY packageclass (packageid, class)
);

我得到一个 1050 “表已经存在”

但该表不存在。有任何想法吗?

编辑:更多细节,因为每个人似乎都不相信我:)

 DESCRIBE contenttype

产量:

1146 - 表 ‘gunzfact_vbforumdb.contenttype’ 不存在

CREATE TABLE gunzfact_vbforumdb.contenttype(
contenttypeid INT UNSIGNED NOT NULL AUTO_INCREMENT ,
class VARBINARY( 50 ) NOT NULL ,
packageid INT UNSIGNED NOT NULL ,
canplace ENUM( '0', '1' ) NOT NULL DEFAULT '0',
cansearch ENUM( '0', '1' ) NOT NULL DEFAULT '0',
cantag ENUM( '0', '1' ) DEFAULT '0',
canattach ENUM( '0', '1' ) DEFAULT '0',
isaggregator ENUM( '0', '1' ) NOT NULL DEFAULT '0',
PRIMARY KEY ( contenttypeid ) ,

产量:

1050 - 表“内容类型”已存在

原文由 Citizen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

听起来你有 [薛定谔的桌子](http://en.wikipedia.org/wiki/Schr%C3%B6dinger’s_cat)…...

现在说真的,你可能有一张坏了的桌子。尝试:

  • DROP TABLE IF EXISTS contenttype
  • REPAIR TABLE contenttype
  • 如果您有足够的权限,请删除数据文件(在 /mysql/data/db_name 中)

原文由 NullUserException 发布,翻译遵循 CC BY-SA 3.0 许可协议

您必须删除 mysql/data/yourdatabase 中数据库文件夹内的文件,因为即使您在 phpmyadmin 中删除/删除了表,该文件夹的文件也没有删除。 图片仅供参考删除什么

原文由 Thinker Bell 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题