まちがいさがし

問題

mysql>  SELECT * FROM color_themes WHERE (key IN (1,2,3,4,5));
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 'key IN (1,2,3,4,5))' at line 1

答え

mysql>  SELECT * FROM color_themes WHERE (color_themes.key in (1,2,3,4,5));
+----+------+------+
| id | name | key  |
+----+------+------+
|  1 | 白   |    1 |
|  2 | 黄   |    2 |
|  3 | 赤   |    3 |
|  4 | 青   |    4 |
|  5 | 黒   |    5 |
+----+------+------+
10 rows in set (0.00 sec)

解説

keyは予約語だからテーブル名指定せずに書いちゃ駄目。

感想

テーブル作る時に叱ってくれよ。