3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(SQL)テーブル名にハイフン入ってる時はクォートする必要あり

SQLiteでついハイフン(-)入のテーブルを作ってしまい、以下の用なクエリを実行したらエラーになりました。

SELECT * FROM hoge-test WHERE name='moe';

テーブル名にハイフンが入っていると、ダメなようです。

これは、SQLiteに限らず他のDBMS(MySQLSQL Server)も同様みたいです。

解決策としては、ハイフンを付けないか、以下のようにクォートしてやるかです。

SELECT * FROM 'hoge-test' WHERE name='moe';

しばらくSQLやDB触ってないとこうなっちゃいますね。

参考:

PHP+SQLの覚え書き: テーブル名にハイフンはご法度

龍の記憶:SQLServer SQL のテーブル名に - (半角ハイフン) - livedoor Blog(ブログ)