我有以下两个表,它们是在执行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中的一个表。
这里有一篇关于这个问题的帖子:https://forums.aws.amazon.com/thread.jspa?messageID=570645。
发布于 2016-08-17 23:07:05
在表前加上#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#,以防止服务器转义散列标记和连字符:
https://stackoverflow.com/questions/39006450
复制相似问题