Проблема в том, что fetchall()
возвращает кортеж для каждой строки (обратите внимание, что ссылка предназначена для MySQL, но объяснение лучше, чем в официальных документах):
Метод выбирает все (или все оставшиеся) строки из набора результатов запроса и возвращает список кортежей . Если больше нет доступных строк, возвращается пустой список.
Это означает, что result
будет выглядеть так:
[(field1, field2, f3...), (field1, field2, f3...), ...]
Теперь in
проверит, равен ли (field1, field2, f3...)
Permanent
, что, очевидно, всегда будет ложным.
Согласно этому вопросу :
print(len([item for item in result if in_ in item]) > 0)
Или с предложением @ shmee:
print(any(item for item in result if in_ in item))
Это должно вывести True
, если in_
появляется где-нибудь в result
.