何気なしにデータベース名にハイフン(-)が入っているデータベースを削除しようとしたらエラーが発生した。
データベース名にハイフンはあまり付けるべきではないと思うが、過去の慣習やらしがらみで使わざるを得ないこともある為、使用する方法をメモとして残しておく。
環境:
とりあえず普通に色々操作してみる。
mysql-testというデータベースを作成したり削除したり。
|
mysql> create database mysql-test; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-test' at line 1 mysql> drop database mysql-test; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-test' at line 1 |
ハイフンが入ることで構文エラーとなってしまう。
ちなみに、これはテーブルでも同様。
回避する為にはデータベース名をバッククォート(`)で囲ってあげる。
|
mysql> create database `mysql-test`; Query OK, 1 row affected (0.01 sec) mysql> drop database `mysql-test`; Query OK, 0 rows affected (0.02 sec) |
これで問題なく実行された。