如何删除MySQL崩溃后出现的名为“logs /#sql-ib203”的表?

时间:2013-06-19 06:28:02

标签: mysql sql innodb

由于DROP TABLE logs/#sql-ib203

/无效

  

错误代码:1064。您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在' / #sql-ib203'附近使用的语法在第1行

logs/#sql-ib203在数据库崩溃后出现(在重新索引和删除logs数据库中的表中的某些属性时没有足够的磁盘空间)。 SHOW TABLES未列出表logs/#sql-ib203,但在尝试ALTER崩溃期间正在更改的表时,MySQL会抱怨表logs/#sql-ib203的存在:

  

错误1050:表' logs / #sql-ib203'已存在

     

SQL语句:

     

ALTER TABLE logssrv_logs DROP COLUMN filenum,DROP COLUMN   agent,DROP COLUMN ip,DROP COLUMN event_source

我使用MySQL 5.6.12-winx64和InnoDB。

2 个答案:

答案 0 :(得分:1)

尝试执行:

DROP TABLE `logs/#sql-ib203`

需要用``来包装名称,这应该放弃它。
问候。

答案 1 :(得分:0)

  1. 您可以转储数据库,转储文件中没有引用孤立的innodb临时表,然后您可以删除数据库并再次恢复。

  2. 你也可以尝试;删除表#mysql50##sql-ib203;

  3. 参考:http://dev.mysql.com/doc/refman/5.6/en/identifier-mapping.html