表结构:
_____________
| |
| EVENTS |
|_____________|
| |
| *EVENT_ID |
| EVENT_DATE |
| TITLE |
|_____________|
问题:
由于之前删除了数据库mytest中的events.frm,而events.ibd仍然存在,导致创建events表失败。
错误提示:
02:45:38 Apply changes to events Error 1050:
Table '`mytest`.`events`' already exists SQL Statement:
CREATE TABLE `mytest`.`events` ( `idevents` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`idevents`))
解决办法:
1、新建数据库 test1 ,创建相同的表events和结构:
CREATE SCHEMA `test1` ;
CREATE TABLE `test1`.`events` (
`EVENT_ID` INT NOT NULL AUTO_INCREMENT,
`EVENT_DATE` TIMESTAMP NULL,
`TITLE` VARCHAR(45) NULL,
PRIMARY KEY (`EVENT_ID`));
2、关闭数据库服务。拷贝一份events.ibd
3、到数据库test1的数据文件夹下找到events.frm,将其拷贝到mytest的文件夹下。
D:\MySQL_Data\MySQL_Server5.6\data\test1 中的 events.frm
拷贝到 ==>
D:\MySQL_Data\MySQL_Server5.6\data\mytest 文件夹下
4、开启数据库服务。
5、这时可以看到mytest中的表events,先不进行其他任何操作,直接删除数据库mytest中的表events
USE mytest; DROP TABLE events;
可以成功删除表events了,然后重新在mytest中重新建立events表就OK了。
转载于:https://blog.51cto.com/srteert/1381433