IndexError:使用psycopg2超出范围的元组索引

时间:2017-03-30 06:33:10

标签: python python-3.x psycopg2

此代码没有问题:

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,))

我哪里错了?

2 个答案:

答案 0 :(得分:2)

第二个片段将变量放在字符串文字中(因为它被单引号括起来),所以psycopg不会处理它。解决此问题的一种方法是在绑定之前保留占位符表单并在Python代码中执行字符串操作:

name = '%%%s%%' % name
cursor.execute("select * from table where prescription like %s", (name,))

答案 1 :(得分:0)

要在查询中输入文字%,您必须使用%%