groups というテーブルがあるんだけど、SELECT を投げようとして syntax error になった。
mysql> SELECT * FROM groups; ERROR 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 'groups' at line 1
あーはん? と思ったんだけど、そういえばワンセンテンスだしもしかして予約語か? などと思い至る。 こういう時はテーブル名をシングルクォートかバッククォートで囲えば大体なんとかなるんや!
mysql> SELECT * FROM `groups`; ... 4545 rows in set (0.04 sec)
ハーイッタ。
MySQL の予約語一覧
こう。 結構あるけど、ActiveRecord 側でブロックしないし、MySQL 側もシュッと作れてしまうので注意が必要。 せめて MySQL 側のエラーは syntax error で丸めるにしても、「予約語 (reserved words) じゃねえの?」ってサジェスト出してほしい。 内部的には一覧持ってると思うんだけどなー。