这看起来很平凡,但我无法在任何地方找到正确的答案。我需要使用psycopg在字段中插入两个单引号。含义是,要存储在列内的值为:''
使用psycopg插入两个连续的单引号
无论我尝试什么,它都会以\'\'
(根据Postgres文档尝试''''
作为输入时)或错误结束。
有什么建议,该如何解决?
这看起来很平凡,但我无法在任何地方找到正确的答案。我需要使用psycopg在字段中插入两个单引号。含义是,要存储在列内的值为:''
使用psycopg插入两个连续的单引号
无论我尝试什么,它都会以\'\'
(根据Postgres文档尝试''''
作为输入时)或错误结束。
有什么建议,该如何解决?
如果你确定要插入文字“‘’”你甚至不需要绑定变量,只写正确的SQL(记住,一个单引号被引用为其中两个,即“''”)。一个例子是更容易理解:
curs.execute("INSERT INTO foo VALUES ('''''')")
否则,你可以在两个引号分配给一个变量,让psycopg做报价:
curs.execute("INSERT INTO foo VALUES (%s)", ("''",))
注意额外的括号和逗号来弥补元组,按照cursor.execute的要求。
参考文献the psycopg2 doc
cursor.execute("INSERT INTO foo VALUES (%s)", ("''",))
不,不这样做,我曾尝试过。 – 2012-04-25 15:53:55
它应该,我确认。您可能会显示错误 – okm 2012-04-25 15:59:31
使用元组而不是列表。列表可能有效,但他们从未得到官方的支持,并可能在未来消失。 – fog 2012-04-25 18:57:22