別の
select upsert( $unique_token$INSERT INTO zz(a, b) VALUES (66, 'ha$$hahaha')$unique_token$, $unique_token2$UPDATE zz SET a=66, b='hahahaha' WHERE a=66$unique_token2$ )
各終了は、各開始と一致する必要があります。 2つのペアを区別する必要はありませんが、その方が最も安全です。
これでも、ドルの引用符が文字列内で一致する可能性が理論的に残っています。
手作業でクエリを作成している場合は、$
を確認してください。 文字列内。変数からクエリを作成する場合は、 quote_literal(querystring)
代わりに。
便利なformat()
機能。
参照:
余談ですが、この形式の動的SQLはSQLインジェクションに対して非常に脆弱であることをご存知だと思いますか?この種のものはすべて、非常にプライベートな使用または非常に安全な使用のみを目的としています。