ホームページ >データベース >mysql チュートリアル >カラム名として「from」と「to」を使用すると、MySQL で「予約語エラー」が発生するのはなぜですか?
SQL 構文エラー: "予約語エラー (from, to)"
エラー "SQLSTATE[42000]: 構文エラーまたはPHP で PDO を使用すると、「アクセス違反: 1064 SQL 構文にエラーがあります」というメッセージが表示される場合があります。イライラする。このエラーの考えられる原因の 1 つは、適切な引用符を付けずに列名に予約語を使用していることです。
SQL では、「from」や「to」などの特定の単語は予約キーワードであり、引用符なしで列名として使用することはできません。引用します。これは、エラー メッセージで「From、to、name、subject、message) VALUES 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」として強調表示されています。
この問題を解決するには、バッククォート (`) を使用して予約語を引用する必要があります。 MySQL では、これはコードを次のように変更することを意味します。
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
予約語を引用符で囲むことにより、それらをキーワードではなく列名として使用するつもりであることを SQL パーサーに通知します。これにより、構文エラーが解消され、クエリが正常に実行できるようになります。
一般的には、列名として予約語を完全に使用しないことをお勧めします。将来の構文の競合を避けるために、列の名前を変更することを検討してください。
以上がカラム名として「from」と「to」を使用すると、MySQL で「予約語エラー」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。