特定の INSERT SQL ステートメントを作成する小さなスクリプトがあります。
postgresql の場合、挿入する値を 2 つの単一引用符で囲む必要があります。
残念ながら、挿入される値の文字列の一部には一重引用符も含まれているため、それらを自動的にエスケープする必要があります。
for line in f:
out.write('(\'' + line[:2] + '\', \'' + line[3:-1] + '\'),\n')
line[3:-1]
内部の一重引用符 (' など)が自動的にエスケープされるようにするにはどうすればよいですか?
ありがとう、
アップデート:
例えば、ライン
CI|Cote D'ivoire
失敗したため '
更新 2:
値に二重引用符を使用できません。
INSERT INTO "App_country" (country_code, country_name) VALUES ("AF", "Afghanistan")
エラーメッセージが表示されます:ERROR: column "AF" does not exist
ただし、これは正常に機能します。
INSERT INTO "App_country" (country_code, country_name) VALUES ('AF', 'Afghanistan')