[MySQL] テーブル名が予約語と一緒の場合は「‘」(バッククオート)が必要

コンソールからMySQLを使っていて、他のテーブルではエラーメッセージが出ないのに、特定のテーブルだけで下記のようなメッセージが出るときは、テーブル名が予約語になっています。

下記の例ではテーブル名の「values」が予約語にひっかかっています。

mysql> repair table values;
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 'values' at line 1

予約語とテーブル名が一緒になっているときはテーブル名をバッククオートで囲みます。

バッククオートはWindows/Macともに「shift + @」です。

mysql> repair table ‘values';

これでコマンドが実行されます。

テーブル名に予約語は使わないほうが良いので、テーブル作成前に下記のページで予約語になっていないかを確認すると良いでしょう。

予約語 | MySQL



Author: webmaster