この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
MariaDBで不要になったDBを削除しようとしたところ、以下のエラーが。
MariaDB [(none)]>drop database server-world;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''server-world'' at line 1
ithinkit
さて、どうすれば良いのでしょうか。
データベース削除エラー「ERROR 1064 (42000)」の原因
エラー「ERROR 1064 (42000)」で調べてみたところ、同様の事象を体験されている方が。
が、質問者に対する回答が面白かった。
質問者:
mysqlの以下のエラーを解消したく投稿しました。
mydb02は存在していますが、削除ができませんでした。
どなたか削除方法をお聞かせいただけると幸いです。
宜しくお願いいたします。
mysql> drop database mydb01;
Query OK, 0 rows affected (0.01 sec)
mysql> dorp database mydb02;
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 ‘dorp database mydb02’ at line 1回答者:
dorp
ではなく
drop
では?
笑。この方はdropの綴り間違い。ただ、こちらはキチンと「drop」としている。
ithinkit
ハイフン付きのデータベースはバッククォートで括る必要あり
色々調べているうち、データベース名に”-(ハイフン)”を含める場合はバッククォートでDB名を括る必要があるということが判明。
さっそく、DB名をバッククォートで括って削除してみると、
MariaDB [(none)]> drop database `server-world`;
Query OK, 16 rows affected (0.07 sec)
あっさり削除することが出来た!
ちなみに「-(ハイフン)」を含むDBを作成する場合も同様にバッククォートで括る必要がある模様。
MariaDB [(none)]> create database hello-world;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '-world' at line 1
MariaDB [(none)]> create database `hello-world`;
Query OK, 1 row affected (0.00 sec)
ハイフンを含むDB名で作成・削除する場合はバッククォートで括る必要がある。
そもそも「-(ハイフン)」を含むDBをどうやって作成したのかは謎・・・
ithinkit
以上、あいしんくいっとでした。