Python:如何将值插入表postgresql?

时间:2015-03-30 09:23:58

标签: python string postgresql psycopg2

如何格式化字符串以将其插入postgresql中的表中? 例子我有sql:

req="INSERT INTO table_a values('%s','%s','%s','%s')"

和值

values=["Socit d'Invest Variable", '6465', 'hg', 'fk_id']
cursor.execute(req,tuple(values))

我收到错误:

psycopg2.ProgrammingError: syntax error at or near "Socit"
LINE 1: ...column0, column1, column2, column3) Values (''Socit d'Invest...

任何想法如何将字符串从使用单引号'更改为双引号"

2 个答案:

答案 0 :(得分:2)

错误在req

req="INSERT INTO table_a values('%s','%s','%s','%s')"

必须没有引用'

req="INSERT INTO table_a values(%s,%s,%s,%s)"

答案 1 :(得分:0)

我认为您需要使用反斜杠来转义字符串中的单引号以正确执行查询,因此使用:

values = ['Socit d\'Invest Variable', '6465', 'hg', 'fk_id']

values = ["Socit d\'Invest Variable", '6465', 'hg', 'fk_id']

应该正常工作