如何格式化字符串以将其插入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...
任何想法如何将字符串从使用单引号'
更改为双引号"
?
答案 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']
应该正常工作