我有一个脚本为我创建了一个特定的INSERT SQL语句。如何逃避'在一个字符串内?
对于postgresql我需要包装值插入两个单引号内。
不幸的是一些要插入的值字符串还包含单引号,我需要自动转义它们。
for line in f:
out.write('(\'' + line[:2] + '\', \'' + line[3:-1] + '\'),\n')
我怎样才能确保内部line[3:-1]
任何单引号(例如')自动逃跑?
谢谢,
UPDATE:
例如行
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')
你可能只是想使用DBAPI方法,而不是,它已经逃出不安全的字符。 – Keith 2012-07-06 22:55:08
在重新阅读您的问题时,我不确定我是否有正确的问题。你能提供'line'的内容吗? – Levon 2012-07-06 22:59:46
@Keith任何指针,我怎么用DBAPI做到这一点? – Houman 2012-07-06 23:08:34