我通过连接操作创建了一个大表(30列* 1000万行)。它持续运行了几天(在大型服务器上),所以我不得不终止创建查询。
但是,这个表仍然存在,我无法删除,删除,选择,简单(选择计数(*)),重命名,甚至是描述操作! 我无法删除整个数据库,因为我有其他重要的表。 那么如何从我的数据库中删除该表呢?
我尝试了很多解决方案,但没有一个能够解决问题。我试过了:
drop table badtable;
delete from badtable where 1 = 1; --always true
delete from badtable where 1 = 1 limit 100; --never terminated
有什么想法吗?
答案 0 :(得分:0)
这是一个InnoDB表,对吗?当您终止创建查询时,它会设置“回滚”您所做的事情。呸。
到现在为止,情况已经开始了,是吗?
下次,在1000行的块中构建表 - 每个块都是COMMITted。
答案 1 :(得分:0)
您是否尝试过ANALYZE TABLE
或REPAIR TABLE
?如果出现错误,您可以修复该表,然后尝试删除它。