PostgreSQL バックスラッシュのエスケープ

バックスラッシュを含む文字列を扱う

\\を含む文字列をUPDATE

pgdb=# UPDATE foo SET foo_name = '\\' WHERE foo_id = 100001; WARNING: nonstandard use of \\ in a string literal HINT: Use the escape string syntax for backslashes, e.g., E'\\'.

\r\nを含む文字列をUPDATE

pgdb=# UPDATE foo SET foo_name = '\r\n' WHERE foo_id = 100001; WARNING: nonstandard use of \\ in a string literal HINT: Use the escape string syntax for escapes, e.g., E'\r\n'.

いずれもエラーが発生してUPDATE失敗。
\\や\r\nに限らずバックスラッシュを含んだ文字列があると同様の警告が表示。
ヒントの通り該当文字列の直前にEを付けて実行する。

SQL

UPDATE foo SET foo_name = E'\\' WHERE foo_id = 100001; UPDATE foo SET foo_name = E'\r\n' WHERE foo_id = 100001;

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。
主にLAPP環境でPHPを書いています。
最近はjQueryをよく書いています。