MySQLSyntaxErrorException のエラー箇所

1 min read

原因は SQL が間違ってるよ、って事です。

15:40:54,372 ERROR [STDERR] com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 ' hoge_name = foo_name  AND hoge_id = foo_id  AND hoge_status ' at line 1

エラー君がこの辺が怪しいよ、って教えてくれています。

すぐ分かるような間違いでも、こんな書き方してたりすると気付き難いし
知らず知らずの内に間違えてたりします。

String sql = "SELECT      *      " +
             "FROM   example     " +
             "WHERE  hoge_id = ? ";

私の場合、

SELECT * FROM example<big>WHEN</big> hoge_name = foo_name  AND hoge_id = foo_id  AND hoge_status ...

のようにWHENがくっ付いていました。
スペースを空けたつもりが…

防備録というか、戒めとして。