Я пытаюсь проверить, существует ли переменная в SQLite3 db. К сожалению, я не могу заставить его работать. Таблица аэропортов содержит 3 колонки, причем ИКАО является первой колонкой.Python проверить, существует ли в SQLite3
if c.execute("SELECT EXISTS(SELECT 1 FROM airports WHERE ICAO='EHAM')") is True:
print("Found!")
else:
print("Not found...")
Код работает без ошибок, но результат всегда тот же (не найден).
Что не так с этим кодом?
Это работает! Не могли бы вы объяснить, почему мой метод не работает? – Caesius
Да, я опубликовал обновление с объяснением. – zero323
Это не работает для меня, поскольку EXISTS возвращает 0 или 1 в sqlite3. См. Документы (http://sqlite.org/lang_expr.html): «Оператор EXISTS всегда оценивает одно из целочисленных значений 0 и 1. Если выполнение инструкции SELECT, указанной в качестве правого операнда оператора EXISTS, будет возвращают одну или несколько строк, тогда оператор EXISTS оценивает значение 1. Если выполнение SELECT не будет возвращать никакие строки вообще, то оператор EXISTS будет равен 0. «Таким образом, вы можете изменить ответ с« Нет »на (0). Я отредактирую, если в ближайшие несколько дней никто не станет жертвой. – neuronet