tl; dr
MariaDB(Mysql)のデータベース名にハイフンを入れたい場合は、CREATE DATABASE
を直接たたこう。
その際に、データベース名はバッククォートでくくろう。
AWS RDSのGUIでは「-」が禁止文字になっている。
説明
AWS RDSのGUIでは、データベース名にハイフンが許可されていない。
じゃあ直接、CREATE DATABASE
を直接たたいてみようと思ったが、構文エラーとなった。
MariaDB [(none)]> create database test-test;
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 '-test' at line 1
調べてみた結果、ハイフンを含める場合はバッククォートが必要だった模様。
修正して書き直してみるとうまくいった。
MariaDB [(none)]> create database `test-test`;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases like 'test%';
+------------------+
| Database (test%) |
+------------------+
| test-test |
+------------------+
2 rows in set (0.00 sec)
環境差異がある場合
解消のために、データベース名変更対応をを行った。
RENAME DATABASE
は使えない(はず)なので、以下のように対応しました。
- 正しい名前で
CREATE DATABASE
を実行 - mysqldumpにて、誤ったデータベースから、データをエクスポート
- mysqldumpにて、正しいデータベースに、2.のデータをインポート
- 誤ったデータベースをDROPする
備考
確信はないが、昔はAWS RDSのGUIでは「-」は許可されていたように思う。
根拠は、同じ手順でRDBを作っていたのに、データベース名に環境差異が出ていたため。
途中で「-」を禁止文字にしたため、こうなったという考察。