MySQLでハイフン使うと面倒
よく知らんのにLAMP環境でPHPでMySQLなお仕事を振られて色々勉強中です
ローカルDBを作って既存のシステムをデバッグで動かしてみるとシンタックスエラーが。
ローカルDBの名前にハイフンを使っていたのですが、
MySQLでハイフン使うときはシングルクォートで囲う必要があり、
PHP側でそういった対応をしていなかったためでした。
DB作成時シフトキー押すのを面倒くさがった結果、めちゃくちゃ面倒なことになりました…
しかもリネームできないし…(リリースノートによると、DBの内容が消えるかもしれなくて危ないからMySQL 5.1.23で削除されたし古いバージョンのも使うな、とのこと)
結局、コマンドプロンプトからmysqldumpでバックアップ→出来たSQLをハイフン使わずに作り直したDBに流す ということをしました
- mysqldump -u [ユーザ名] -p[パスワード(あれば)] [DB名] > 出力先ファイル名.sql
でもこの「新規作成したDB」てとこもめんどくさかった。
test-database作る
↓
test_database作る
↓
両方作れる
なのに、
test_database作る
↓
test-database作る
↓
名前競合でtest-database作れない
↓
なんでやねん!!
めんどうなので今度からは0-9, A-Z, a-zとアンスコしか使わない…