【问题标题】:Cannot create table in phpmyadmin无法在 phpmyadmin 中创建表
【发布时间】:2013-12-24 17:23:42
【问题描述】:

我想在 phpmyadmin 中创建一个表调用 USER_INFO,但我不断收到错误 #1050 - 表 'eataround.user_info' 已经存在。事实上,我之前在重新创建之前已经删除了这个表。在创建 USER_INFO 之前,我还尝试以大写或小写形式执行 DROP TABLE IF EXISTS user_info;。但是还是不行。

【问题讨论】:

  • 你DROPing它在正确数据库中吗?
  • 当然,即使我点击进入数据库(eataround),它也不显示该数据库中有任何表。
  • 好像mysql崩溃了

标签: mysql phpmyadmin


【解决方案1】:

来自MYSQL Docs:

如果你重新创建一个被删除的表,它必须有一个定义 符合引用它的外键约束。它必须 具有正确的列名和类型,并且它必须在 引用的键,如前所述。如果这些都不满足,MySQL 返回错误号 1005 并在错误中引用错误 150 消息。

或者可能是薛定谔表的情况。所以你可以试试这个:

  • 如果存在 user_info 则删除表
  • 修复表用户信息
  • 如果你有足够的权限,删除数据文件(在/mysql/data/db_name)

【讨论】:

    【解决方案2】:

    您可能需要刷新表缓存。例如:

    DROP TABLE IF EXISTS `tablename` ;
    FLUSH TABLES `tablename` ; /* or exclude `tablename` to flush all tables */
    CREATE TABLE `tablename` ...
    

    还有

    来自 MySQL 日志:

    InnoDB: You can drop the orphaned table inside InnoDB by
    InnoDB: creating an InnoDB table with the same name in another
    InnoDB: database and copying the .frm file to the current database.
    InnoDB: Then MySQL thinks the table exists, and DROP TABLE will
    InnoDB: succeed.
    

    【讨论】:

      猜你喜欢
      • 2015-03-09
      • 2023-03-08
      • 2017-08-27
      • 2014-05-30
      • 2014-05-03
      • 2014-10-20
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多