これは些細なことのように思えますが、正しい答えはどこにも見つかりません。psycopg を使用して、フィールドに 2 つの一重引用符を挿入する必要があります。つまり、列内に格納される値は次のとおりです。''
何を試しても、\'\'
( ''''
Postgres のドキュメントに従って入力として試行すると) エスケープされるか、エラーが発生します。
これを解決する方法はありますか?
リテラル"''"を挿入する必要がある場合は、バインドされた変数も必要ありません。正しいSQLを記述してください(リテラルの一重引用符は、2つとして「引用符で囲まれている」ことを忘れないでください。 '")。例ははるかに理解しやすいです:
curs.execute("INSERT INTO foo VALUES ('''''')")
それ以外の場合は、2つの引用符を変数に割り当てて、psycopgに引用符を実行させることができます。
curs.execute("INSERT INTO foo VALUES (%s)", ("''",))
cursor.executeで必要とされるように、タプルを構成するための余分な括弧とコンマに注意してください。
psycopg2 doc を参照します
cursor.execute("INSERT INTO foo VALUES (%s)", ("''",))