[英]Dropping locked tables from Mysql
我从创建时锁定的Mysql设置了一个表,并认为我使用drop命令删除了该表。 但是,当我尝试重新创建具有相同名称的表时,我收到一条错误消息,即使使用drop if exist命令删除表' tname
'也已经存在。
为了进一步说明我的观点...这是我一开始创建的表格
DROP TABLE IF EXISTS `one`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `one` (
//
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `one`
--
LOCK TABLES `one` WRITE;
/*!40000 ALTER TABLE `one` DISABLE KEYS */;
/*!40000 ALTER TABLE `one` ENABLE KEYS */;
UNLOCK TABLES;
-----
然后删除表一; ......其时,我发出的数据库显示表 ,但是当我尝试创建一个名为一个表,它说表“不存在了one
”已经存在
DROP TABLE IF EXISTS `one`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `one` (
//
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
ERROR 1050 (42S01): Table '`dbname`.`one`' already exists
转到数据目录,然后检查其中是否存在one.ibd或one.frm文件。 如果存在,则删除该文件并再次检查。
如果删除后仍然遇到问题,它们将在另一个数据库中创建相同的表,并将one.ibd和one.frm文件从该数据库移至该数据库,然后删除该表。
希望您的问题能得到解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.