psycopg2" IndexError: tuple index out of range "ошибка при использовании оператора" % " like с аргументами tuple
Это прекрасно работает:
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
Как избежать этой ошибки?
1 ответов
прежде всего, вы должны использовать %%
вставить %
literal, иначе библиотека попытается использовать all %
в качестве заполнителей. Во-вторых, лучше указать %s
, где вы хотите вставить значения.
Итак, ваш код должен выглядеть так:
cursor.execute("select * from books where name like '%%oo%%' OFFSET %s LIMIT %s", (0,1))