这似乎微不足道,但我无法在任何地方找到正确的答案。我需要使用 psycopg 在字段中插入两个单引号。意思是,要存储在列内的值是:''
无论我尝试什么,它要么最终被转义\'\'
(当''''
按照 Postgres 文档尝试作为输入时),要么出现错误。
任何建议,如何解决这个问题?
如果您确定要插入文字“''”,您甚至不需要绑定变量,只需编写正确的 SQL(请记住,文字单引号被“引用”为其中两个,即“' '”)。一个例子更容易理解:
curs.execute("INSERT INTO foo VALUES ('''''')")
否则,您可以将两个引号分配给一个变量并让 psycopg 进行引用:
curs.execute("INSERT INTO foo VALUES (%s)", ("''",))
根据 cursor.execute 的要求,注意构成元组的额外括号和逗号。
cursor.execute("INSERT INTO foo VALUES (%s)", ("''",))