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

コンソールからMySQLを使っていて、他のテーブルではエラーメッセージが出ないのに、特定のテーブルだけで下記のようなメッセージが出るときは、テーブル名が予約語になっています。
下記の例ではテーブル名の「values」が予約語にひっかかっています。
1 2 |
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 + @」です。
1 |
mysql> repair table ‘values'; |
これでコマンドが実行されます。
テーブル名に予約語は使わないほうが良いので、テーブル作成前に下記のページで予約語になっていないかを確認すると良いでしょう。
予約語 | MySQL
関連記事
- [MySQL]8.x phpMyAdminでGrant文が使えない
- [CakePHP] 独自SQLのAS句で新しいフィールドを作りCakePHPの形式でデータを出力する方法
- [phpMyAdmin] PHP Parse error: syntax error, unexpected ‘@’ ・・・エラー対処方法
- [Linux] インストールされているパッケージのバージョン確認方法
- [MySQL] 「‘」バッククォーテーションをキーボードで入力する方法