Sqlite3 с Python - PullRequest
       0

Sqlite3 с Python

1 голос
/ 16 марта 2020

Мой код:

cursor.execute("select * from PRODUCT where product_id in (?)", (ids,))
print(cursor.fetchall())

, где ids - это кортеж целых значений, таких как (2,4) и product_id, также являются целочисленными значениями.

Ошибка, которую я получаю is:

Файл "c: / Users / deboparna / Рабочий стол / колледж / Sem4 / язык программирования / project / db.py", строка 32, в fetchProducts cursor.execute ("select * из PRODUCT, где product_id in (?) ", (ids,)) sqlite3.InterfaceError: Ошибка привязки параметра 0 - возможно, неподдерживаемый тип.

1 Ответ

1 голос
/ 16 марта 2020

Вам нужны заполнители для каждого идентификатора.
Вы также должны просто использовать ids в качестве кортежа, а не делать его кортежем из кортежа.

placeholders = ",".join("?"*len(ids))
qry = "select * from product where product_id in ({})".format(placeholders)
cursor.execute(qry,ids)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...