ホームページ >データベース >mysql チュートリアル >PostgreSQL INSERT ステートメントでキーワードのような列名 (「年」など) をエスケープするにはどうすればよいですか?
PostgreSQL でクエリを作成するときに、予約されたキーワードのような列名が見つかるとエラーが発生する可能性があります。たとえば、「年」列です。
「年」列を使用して INSERT クエリを実行しようとすると、次のようなエラーが発生します:
<code class="language-sql">INSERT INTO table (id, name, year) VALUES ( ... );</code>
この問題を解決するには、「年」列名を二重引用符で囲みます:
<code class="language-sql">INSERT INTO table (id, name, "year") VALUES ( ... );</code>
二重引用符は区切り識別子の定義に使用され、PostgreSQL が囲まれたテキストをキーワードとして解釈するのを防ぎます。これにより、予約語を含む列名をエラーを引き起こすことなく使用できるようになります。
PostgreSQL ドキュメントに記載されているとおり:
"2 番目のタイプの識別子は、区切り文字または引用符で囲まれた識別子です。これは、任意の文字シーケンスを二重引用符 (") で囲むことによって形成されます。区切り識別子は常に識別子であり、キーワードではありません。したがって、「select」は「select」という名前の列またはテーブルを参照するために使用でき、引用符で囲まれていない select はキーワードとして扱われます..."
以上がPostgreSQL INSERT ステートメントでキーワードのような列名 (「年」など) をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。