Можно ли передать неизвестное количество значений в sqllite3 запрос, без костылей?

Можно ли передать неизвестное количество значений в sqllite3 запрос, без костылей?
cur.execute(
        """
        DELETE from item
        WHERE NOT name IN (?); 
        """
       (names,)
)
# вместо "?" должно подставится неизвестное количество параметров
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@deliro
К сожалению, нет. Только так:

placeholders = ", ".join(["?"] * len(names))
sql = f"DELETE FROM item WHERE NOT name IN ({placeholders})"
cur.execute(sql, names)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@101-s
Насчет sqlite не уверен, будет работать или нет, но попробуйте
вместо (?) сделать выборку (SELECT ...)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы