如何删除RDS中的孤立表

时间:2016-08-17 21:19:21

标签: mysql sql innodb amazon-rds

我有以下两个表是由于在执行alter table语句时重新启动sql而创建的:

SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%#sql%';

TABLE_ID    NAME    FLAG    N_COLS  SPACE   FILE_FORMAT ROW_FORMAT  ZIP_PAGE_SIZE
1674    avails/#sql-ib1647  1   10  1396    Antelope    Compact 0
1673    avails/#sql-ib1672  1   13  1395    Antelope    Compact 0

如何删除这两张表?当我这样做时:

DROP TABLE `#sql-ib1647`

我收到Unknown table 'avails.#sql-ib1647'的错误消息。这是Amazon RDS中的表格。

以下是该问题的帖子:https://forums.aws.amazon.com/thread.jspa?messageID=570645

1 个答案:

答案 0 :(得分:1)

MySQL DOCS:

使用#mysql50#对表格进行前缀这可以解决问题。

DROP TABLE `#sql-ib1647`;
ERROR 1051 (42S02): Unknown table '#sql-ib1647'

而是使用#mysql50#作为文件名前缀,tis应该起作用:

DROP TABLE `#mysql50##sql-ib1647`;
Query OK, 0 rows affected (0.00 sec)
  

那是因为MySQL和MariaDB编码的特殊字符   文件系统。这里的技巧是在表名前添加#mysql50#   防止服务器转义哈希标记和连字符: