[MySQL] phpMyAdminで#1064のエラーが出た原因

最近、MySQLを勉強しています。phpMyAdminからSQL文を打って練習していたのですが、早速エラーが出てつまづきました。

raceテーブルの順位(order)と名前(name)のカラムにinsertしたいのですが、エラーが出ます。

INSERT INTO race (order, name) VALUE (1, taro)

エラーメッセージ

#1064 – 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 ‘order, name) VALUE (1, taro)’ at line

エラーの原因はorderでした。MySQLには”ORDER”という予約語があるため、同じ名前のカラム名は使えないようでした。

INSERT INTO race ("order", name) VALUE (1, taro)

“order”とダブルクォーテーションで囲めば使えるようになりますが、ややこしいので別のカラム名に変えることで解決しました。

他にもたくさんの予約語があります。カラム名を決める時は、以下のページで確認する必要があります。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.3 予約語

広告