ホームページ >データベース >mysql チュートリアル >一重引用符で囲まれたテキストを PostgreSQL に正しく挿入するにはどうすればよいですか?
PostgreSQL に一重引用符を含むテキストを挿入します
PostgreSQL では一重引用符を含む値を挿入するのが難しい場合があります。ただし、確実に適切にエスケープする方法はあります。
一重引用符を含む値を挿入するには、文字列内でそれらを二重にします:
<code class="language-sql">INSERT INTO test VALUES (1, 'user''s log');</code>
standard_conforming_strings
が off
に設定されている PostgreSQL バージョン、または E
プレフィックスを使用して POSIX エスケープ文字列構文が有効になっている場合、一重引用符はバックスラッシュを使用してエスケープできます:
<code class="language-sql">INSERT INTO test VALUES (1, E'user\'s log');</code>
別のオプション (特に複数レベルのエスケープを含む複雑な文字列の場合) は、文字列をドル記号で引用することです。
<code class="language-sql">INSERT INTO test VALUES (1, $token$escape ' with ''$token$);</code>
PostgreSQL には、文字列を正しく引用するための関数が用意されています。
quote_literal()
または quote_nullable()
: 文字列を引用符で囲むか、空の入力の場合は NULL を返します。 %L
と format()
指定子: quote_nullable()
と同等。 例:
<code class="language-sql">INSERT INTO test VALUES (1, format('%L', 'user''s log'));</code>
以上が一重引用符で囲まれたテキストを PostgreSQL に正しく挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。