• ベストアンサー

INSERTのときのカラム名表記方法

ちょっとしたことで行き詰まってしまいました。 INSERT INTO tabele_name(カラム名,カラム名) VALUES(値,値) 上記のとき、カラム名を [`]で囲む必要はあるのでしょうか? [`]をつけないとエラーになるときがあり、その理由がわかりません。 もし理由をご存知の方がいらっしゃいましたら、ご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>上記のとき、カラム名を [`]で囲む必要はあるのでしょうか? MySQLの挙動をきちんと理解しているなら必要はありません。 >[`]をつけないとエラーになるときがあり、その理由がわかりません。 こういう発言があるということは理解されてないので、 囲んでください。 大きくは2つ理由があるでしょう。 1)カラム名に予約語をつかっている 2)カラム名にその他使ってはいけない記号をつかっている 回避方法としては 予約語をつかわない・・・といっても何が予約語かわからないのであれば 保険としてテーブルの先頭に例えば「t_」とつけるなど、明示的な テーブル命名ルールを自分で決める。 またテーブル名に英数字と所定の記号(例えばアンダーバーとか)以外の 文字を使わない、もちろん全角文字などもつかわない エラーが読めるようになる・・・エラーの意味が理解できるようになる などでダイブ変わるとおもいます

rantan55
質問者

お礼

ありがとうございます。 ご指摘のとおり、予約語にひっかかっていました。 それなりに数があるようなので、カラム名をつけるときに気をつけることにします。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

MySQL :: MySQL 5.1 リファレンスマニュアル :: 8.2 識別子 http://dev.mysql.com/doc/refman/5.1/ja/identifiers.html

rantan55
質問者

お礼

ありがとうございます。 予約語を見落としておりました。

関連するQ&A