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 に答える