我在创建时锁定了Mysql锁定表,我以为我是使用drop命令删除的。但是当我尝试通过创建一个同名的表重新开始时,我得到一个错误,即表'tname
'已经存在,即使使用drop if exists命令也是如此。
进一步说明我的观点......这是我在开头创建的表格
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;
-----
然后删除表格一个; ...当我在数据库中发出 show tables 时,它不再存在了,但当我尝试创建一个名为one的表时,它说表'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
答案 0 :(得分:1)
转到您的数据目录并检查那里是否存在one.ibd或one.frm文件。如果存在,则删除该文件并再次检查。
如果删除后仍然出现问题,则在另一个数据库中创建相同的表,并将该数据库中的one.ibd和one.frm文件移动到此数据库,然后删除该表。
希望你的问题能够解决。