簡體   English   中英

使用表名中的特殊字符刪除MySQL(3.23.58)中的表

[英]Dropping a table in MySQL (3.23.58) with a special character in the tablename

是的,這是一個舊的數據庫(我們正在遷移過程中)。 不知何故,phpMyAdmin讓用戶創建一個帶有'的表。

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'`;
'>                                                                                      

你怎么逃脫這個?

謝謝...

根據MySQL是否允許用點創建數據庫? 你使用反引號引用名稱,如

drop table `type_save'`

試試看,看看是否有幫助。

嘗試這個:

mysql> drop table `type_save'`;

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

字符是`( 反向撇號或左單引號)。

它是MySQL 3.x,所以它很可能是MyISAM(甚至是ISAM)。 由於刪除表的正常方法不起作用(因為你說它崩潰服務器),如果它是MyISAM / ISAM,只需直接從文件系統中刪除相關的.MYI.MYD.frm文件,或者移動如果你出於某種原因需要保存它們,別的地方。 然后做一個沖洗表。 你甚至不需要關閉服務器(至少在Unix上,在Windows上文件可能正在使用,Windows可能不允許你刪除它。刷新表可能有幫助)。

如果它的InnoDB只有ISAM或MyISAM,請不要這樣做。

如果它的InnoDB,我擔心你將來可能會有轉儲/重裝。

當然還有備份。 始終有備份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM