9

这工作正常:

 cc.execute("select * from books where name like '%oo%'")

但如果第二个参数通过:

cursor.execute("select * from books where name like '%oo%' OFFSET % LIMIT %", (0,1))

Psycopg 错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range

如何避免这个错误?

4

1 回答 1

14

首先,您应该使用%%插入%文字,否则,库将尝试使用 all%作为占位符。其次,最好指定%s要插入值的位置。

因此,您的代码应如下所示:

cursor.execute("select * from books where name like '%%oo%%' OFFSET %s LIMIT %s", (0,1))
于 2012-12-27T14:30:32.463 回答