実現したいこと
mysqlのDESCを使って『modifies』というテーブルの構造を表示したい
発生している問題・分からないこと
DESC modifies;
と入力すると
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 'modifies' at line 1
と出てきてしまう
該当のソースコード
mysql
1mysql> desc modifies; 2ERROR 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 'modifies' at line 1
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
show full columns fromも試してみたのですがこちらもできず、select文などでの取得をしようとしても構文エラーと言われてしまったため、もしかしたらそもそもmodifiesというテーブル名が問題なのかな...?と考えています
補足
mysql 8.0.36を使用
> もしかしたらそもそもmodifiesというテーブル名が問題なのかな...?と考えています
その通りで、modifies がMySQLの予約語だからですね。
・どういう単語が予約語か把握して、予約語がテーブル名などの場合はクォートする
・どういう単語が予約語か把握して、予約語はテーブル名などに使わない
・予約語かどうか判断せず、テーブル名などはすべてクォートする
のどれかです。楽なのは最後ので、文字数が増える以外のデメリットも無いはず。
otnさん
返信が遅くなって申し訳ありません...
なるほど、そういうことなんですね、現在はクォートするようにして確認していますが、今後はテーブル名をつけるときも気を付けようと思います...!
ありがとうございます!
回答1件
あなたの回答
tips
プレビュー