使用psycopg插入两个连续的单引号

时间:2012-04-25 15:27:05

标签: python psycopg2

这似乎微不足道,但我无法在任何地方找到正确的答案。我需要使用psycopg在字段中插入两个单引号。意思是,要存储在列中的值是:''

无论我尝试什么,它最终都会转义\'\'(根据Postgres文档尝试''''输入时),或者出错。

有任何建议,如何解决?

2 个答案:

答案 0 :(得分:2)

如果您确定要插入文字“''”,您甚至不需要绑定变量,只需编写正确的SQL(请记住,文字单引号被“引用”为其中两个,即,“''”)。一个例子更容易理解:

curs.execute("INSERT INTO foo VALUES ('''''')")

否则,您可以将两个引号分配给变量,让psycopg进行引用:

curs.execute("INSERT INTO foo VALUES (%s)", ("''",))

注意使用cursor.execute所需的额外括号和逗号来组成元组。

答案 1 :(得分:0)

参考the psycopg2 doc

cursor.execute("INSERT INTO foo VALUES (%s)", ("''",))