此代码没有问题:
cursor.execute("select message from snippets where keyword=%s", (name,))
然而,有了这个,我得到一个IndexError: tuple index out of range
cursor.execute("select * from table where prescription like '\"%\"%s%'", (string,))
我哪里错了?
答案 0 :(得分:2)
第二个片段将变量放在字符串文字中(因为它被单引号括起来),所以psycopg不会处理它。解决此问题的一种方法是在绑定之前保留占位符表单并在Python代码中执行字符串操作:
name = '%%%s%%' % name
cursor.execute("select * from table where prescription like %s", (name,))
答案 1 :(得分:0)
要在查询中输入文字%
,您必须使用%%
。