2016-08-17 4 views
2

я следующие две таблицы, которые были созданы из-за перезагрузки SQL при этом в alter table заявление:Как капельные осиротевшие таблицы в RDS

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.

+0

Не могли бы вы переименовать таблицу, используя изменить таблицу и попробовать? сообщите мне, если это работает! – Jordon

+0

@ShivaShinde вы могли бы показать запрос того, что вы имеете в виду? – David542

+1

@ShivaShinde Я все еще получаю таблицу не существует ... – David542

ответ

1

MySQL DOCS:

Префикс таблицы с #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) 

Это потому, что MySQL и MariaDB кодирования специальных символов для файловой системы. Хитрость здесь префикс имя_таблицы с # mysql50 # , чтобы предотвратить сервер от побега диеза и дефис:

+1

Возможно, также необходимы задние фонари. –

+0

@ Шива да, это было первое, что я пробовал смотреть на документы, и у меня такая же проблема. (Только) я был в состоянии решить проблему, это клонирование таблицы и удаление предыдущей таблицы. – David542

+0

@ David542 Да, точно, документы предлагают то же самое. Итак, наконец, вы смогли отбросить те осиротевшие столы? – Jordon