LoginSignup
1
0

【MySQL】DB名にハイフンがあると「You have an error in your SQL syntax」になる

Posted at

概要

以下のようなSQLだとエラーになりました。

'DELETE FROM mysql57-dummy.sample WHERE...(略)'

エラーメッセージは以下の通り。

SQLエラー [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 '-dummy.sample WHERE...

原因と解決方法

エラーは、データベース名にハイフンが入っていたため。
一部の文字列が正しくエスケープされていないためにエラーが発生しています。

ハイフンが入っているデータベース名の場合、バッククオートで囲んであげるとエラーが解決できます。
今まであまり気にしてなかったけど、そうだったんか...

クエリ文字列の組み立て部分を次のように変更すればOK。

'DELETE FROM `mysql57-dummy`.sample WHERE...'

これにより、データベース名とテーブル名が適切にエスケープされ、SQL文が正しく処理されるようになりました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0