予約語

最近プログラミング言語がもつ予約語のせいで何回か罠にはまった
最初はpythonを書いてるときで、Djganoを使っていてモデルを書いているときに、pass(パスワード)というフィールドを持たせようとしたら、なぜかインデントが解除されてしまった。強制的にインデントして書いていてもエラーが出てしまい、不思議に思っていたのだが、ぐぐってみるとpythonでpassと書くとそれ以降をpassするらしい。というわけで仕方なく変数名をpasswordに変えた

次にはまったのはmysqlでの予約語
テーブルに最終更新時刻という意味でupdateをテーブルに定義したのだが、これがよくなかった。一応テーブルは作成できるのだが、なぜかテーブルにデータを挿入できない。何度見ても正しいSQL文なのに入らない。先輩に聞いてみたところupdateは予約語だから、insert into(`update`) values(hoge)のようにテーブルのカラム名にバッククォートを入れないとだめだということを教わった。確かにこうしたらうまく言ったけど、そもそもの原因はupdateという名前だったので、updatedという名前に変更した。たぶんこの名前の方が自然な気がする。