如何删除 RDS 中的孤立表
How to drop orphaned tables in RDS
我有以下两个 table 是由于 sql 在执行 alter table
语句时重新启动而创建的:
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
如何删除这两个 table?当我这样做时:
DROP TABLE `#sql-ib1647`
我收到一个错误 Unknown table 'avails.#sql-ib1647'
。这是 Amazon RDS 中的 table。
这里是关于这个问题的 post:https://forums.aws.amazon.com/thread.jspa?messageID=570645。
在 table 前加上 #mysql50#
这应该可以解决问题。
DROP TABLE `#sql-ib1647`;
ERROR 1051 (42S02): Unknown table '#sql-ib1647'
改为在文件名前加上#mysql50#,这应该可行:
DROP TABLE `#mysql50##sql-ib1647`;
Query OK, 0 rows affected (0.00 sec)
That's because MySQL and MariaDB encode special characters for the
filesystem. The trick here is to prefix the tablename with #mysql50#
to prevent the server from escaping the hash mark and hyphen:
我有以下两个 table 是由于 sql 在执行 alter table
语句时重新启动而创建的:
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
如何删除这两个 table?当我这样做时:
DROP TABLE `#sql-ib1647`
我收到一个错误 Unknown table 'avails.#sql-ib1647'
。这是 Amazon RDS 中的 table。
这里是关于这个问题的 post:https://forums.aws.amazon.com/thread.jspa?messageID=570645。
在 table 前加上 #mysql50#
这应该可以解决问题。
DROP TABLE `#sql-ib1647`;
ERROR 1051 (42S02): Unknown table '#sql-ib1647'
改为在文件名前加上#mysql50#,这应该可行:
DROP TABLE `#mysql50##sql-ib1647`;
Query OK, 0 rows affected (0.00 sec)
That's because MySQL and MariaDB encode special characters for the filesystem. The trick here is to prefix the tablename with #mysql50# to prevent the server from escaping the hash mark and hyphen: