是的,这是一个旧的数据库(我们正在迁移过程中)。不知何故,phpMyAdmin让用户创建一个带有“in in。”的表。
name: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'`;
'>
你如何正确地逃避这一点?
...谢谢
答案 0 :(得分:8)
根据Does MySQL allows to create database with dot?,您可以使用反引号来引用名称,如
drop table `type_save'`
尝试一下,看看它是否有帮助。
答案 1 :(得分:7)
试试这个:
mysql> drop table `type_save'`;
注意:“mysql>”只是命令提示符。
字符是`(反向撇号或左单引号)。
答案 2 :(得分:1)
它是MySQL 3.x,所以它很可能是MyISAM(甚至是ISAM)。由于丢弃表的正常方法不起作用(因为你说它崩溃服务器),如果它是MyISAM / ISAM,只需删除相关的.MYI
,.MYD
和{{1}直接来自文件系统的文件,或者如果由于某种原因需要保存它们,请将它们移动到其他位置。然后做一个冲洗表。你甚至不需要关闭服务器(至少在Unix上,在Windows上,文件可能正在使用,Windows可能不允许你删除它。刷新表可能有帮助。)
如果它的InnoDB只有ISAM或MyISAM,请不要这样做。
如果是InnoDB,我担心你将来可能会有转储/重装。
当然还有备份。始终有备份。