SQL識別子のエスケープ

SQLのリテラルはエスケープが必要であることは広く認知されていると思います。しかし、識別子のエスケープはあまり広く認知されていないように思います。

PostgreSQLの場合、識別子のエスケープAPI(libpqのPQescapeIdentifier)が提供されておりPHPでもpg_escape_identifier()として利用できます。PostgreSQLの場合は”(ダブルクオート)で識別子を囲むことにより、ダブルクォート無しでは利用できない文字(例えば日本語)も識別子に利用できるようになります。

知っているようで知らないプリペアードクエリ

PostgreSQL Advent Calender 2012用のエントリです。 PostgreSQLや他のDBMSを利用していてプリペアードクエリを知らない方は居ないと思いますが、プリペアードクエリを使いこなす為のTI… 続きを読む 知っているようで知らないプリペアードクエリ

PostgreSQL 9.0から使える識別子とリテラルのエスケープ

PostgreSQL Advent Calender用のエントリです。 エスケープ処理が必要なのにエスケープ用のAPIが無い状態は良くありません。エスケープしないために動かないのはまだ良い方です。エスケープが必要なのにエ… 続きを読む PostgreSQL 9.0から使える識別子とリテラルのエスケープ