MySQLでERROR 1064 (42000): You have an error in your SQL syntax;エラーが出ました。
エラーが発生した文は下記です。
INSERT INTO navi.users (hid, pid, condition) VALUES (12, 1, 'OK');
エラーが発生した原因
ERROR 1064は構文に関するエラーです。
文のどこかに間違いがあると発生します。
「,(コンマ)」や「'(シングルクオート)」が多かったりすると発生します。
今回は、文を見てもどうしてもミスが見つかりませんでした。
調べてみると、「condition」はMySQLで予約語として使用されているので、予約語は「`(バッククォート)」で囲まないといけないみたいです。
下記の通りにすると、実行することが出来ました。
INSERT INTO navi.users (hid, pid, `condition`) VALUES (12, 1, 'OK');
MySQLで予約語を使うときに利用する「`(バッククォート)」とは?
「`(バッククォート)」とは、windowsの場合はShift+@を押すことで入力できます。
「'(シングルクオート)」とよく似てるので、間違えられやすいかもしれないです。
バッククォートは基本的に必須ではないですが、予約語をエスケープすることができます。
ERROR 1064エラーが発生して、どうしても構文ミスが見つからない時は、予約語が使用されていないか疑ってみてください。