PostgreSQL の「入力末尾の構文エラー」について
PostgreSQL では、「入力末尾の構文エラー」というエラー メッセージが頻繁に表示されます。予期される構文とパーサーが受信した入力との間に不一致があることを示します。特定のケースでこのエラーが発生する理由を詳しく調べてみましょう:
「?」を使用するクエリ。パラメータ プレースホルダとして、MySQL と互換性がありますが、PostgreSQL とは互換性がありません。 PostgreSQL では、準備されたステートメントはパラメーターのプレースホルダーとして「$1」、「$2」などを使用します。次のようにクエリを変更すると、この問題が解決されます。
db.Query(`SELECT COUNT(*) as N FROM email WHERE address = `, email)
この変更により、クエリ構文が PostgreSQL の規則に準拠するようになります。
PostgreSQL のエラー メッセージは確かに不可解な場合がありますが、この場合、不適切なプレースホルダーが原因で、パーサーは入力の末尾を構文エラーとして誤って解釈しました。クエリを PostgreSQL 構文に合わせることで、このエラーを回避できます。
以上がPostgreSQL クエリで「入力の終わりに構文エラー」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。