名前に「-」を含むMySQLデータベースを削除する

名前に「-」を含むMySQLデータベースを削除する

開発チームのメンバーは、リモートグラフィックインターフェースを介して名前に「-」を含むデータベースを作成しました。私の考えでは2番目はレガシーデータベースです)。

次のコマンドで削除しようとしています。

DROP DATABASE "dbname-a";

コマンドはmysqlコマンドラインインターフェイス内にありますが、エラーが発生します。

エラー1064(42000):SQL構文が正しくありません。行1の「dbname -a」の近くで使用する正しい構文については、MySQL Serverバージョンのマニュアルを確認してください。

""の有無にかかわらず、データベース名はもちろん、 ""内でもデータベース名を使用してみました。すべてのバリアントに同じ構文エラーがあります。

何をすべきか?

答え1

正しい方法はバックティックを使うことだと思います。たとえば、

DROP DATABASE `dbname-a`

これは次のような場合に便利です。MySQL予約キーワードしかも。スタックオーバーフロー投稿に関する追加情報 -MySQLで一重引用符、二重引用符、およびバックティックを使用する場合

答え2

結局、次のようにコマンドラインからそれを削除する必要がありました。

mysqladmin drop "dbname-a"

~からOracle 5.7リファレンスマニュアル - mysqladmin

データベース名の削除

db_nameという名前のデータベースとそのテーブルの両方を削除します。

関連情報