5

是的,这是一个旧数据库(我们正在迁移)。不知何故,phpMyAdmin 让用户创建一个带有 ' 的表。

名称:type_save'

但是,我现在似乎无法放下那张桌子。我已经从命令行尝试过:

mysql> drop table "type_save\'";
ERROR 1064: You have an error in your SQL syntax near '"type_save\'"' at line 1                                                                          

mysql> drop table "type_save'";
ERROR 1064: You have an error in your SQL syntax near '"type_save'"' at line 1    


mysql> drop table `type_save'`;
'>                                                                                      

你如何正确地逃避这个?

谢谢...

4

3 回答 3

10

根据MySQL 是否允许使用点创建数据库?您使用反引号引用名称,如

drop table `type_save'`

试试看是否有帮助。

于 2010-11-09T18:21:23.330 回答
8

试试这个:

mysql> drop table `type_save'`;

注意:“mysql>”只是命令提示符。

字符是`(反撇号或左单引号)。

于 2010-11-09T18:20:00.910 回答
1

它是 MySQL 3.x,所以很可能是 MyISAM(甚至是 ISAM)。由于删除表的常规方法不起作用(因为您说它会使服务器崩溃),并且如果它是 MyISAM/ISAM,只需直接从文件系统中删除相关.MYI.MYD、 和.frm文件,或者在需要时将它们移动到其他地方出于某种原因保留它们。然后做一个刷新表。您甚至不需要关闭服务器(至少在 Unix 上,在 Windows 上该文件可能正在使用中,而 Windows 可能不允许您删除它。刷新表可能会有所帮助)。

如果它的 InnoDB,只有 ISAM 或 MyISAM,请不要这样做。

如果是 InnoDB,恐怕您将来可能会转储/重新加载。

当然还有备份。始终有备份。

于 2010-11-09T19:25:52.973 回答