Возвращает значение True/False для запроса EXISTS Postgres, который не распознается оператором IF ⇐ Python

Программы на Python
Anonymous
Возвращает значение True/False для запроса EXISTS Postgres, который не распознается оператором IF

Сообщение Anonymous »

def track_exists():
conn = psycopg.connect("dbname=postgres user=postgres password=***)
cur = conn.cursor()
sqltest = "SELECT EXISTS(SELECT 1 FROM CUSTOMERS WHERE CUSTOMERS.PHONE = '608-888-8888')"
cur.execute(sqltest)
result = cur.fetchall()
if result == [(True,)]:
print("working")
dosomething()
elif result == "":
print("not working")

При запуске этой функции в VS CODE выходные данные возвращаются точно [(True,)] на экран. Мой оператор if не распознает это как истину и возвращает мой оператор «не работает». Независимо от того, каким образом я пробовал разные версии true, IE «True:», «(True),» «True» и т. д.
phonestring = phone_str
print (phonestring)
conn = psycopg.connect("dbname=postgres user=postgres password=***)
cur = conn.cursor()
sqltest = "SELECT EXISTS(SELECT 1 FROM CUSTOMERS WHERE CUSTOMERS.PHONE = (%s))"
sqldata = (phonestring)
cur.execute(sqltest,sqldata)
result = cur.fetchone()
if result == [(True,)][0]:
print("Customer Exists")
elif result == [(False,)][0]:
print("New customer")


Подробнее здесь: https://stackoverflow.com/questions/790 ... -statement

Вернуться в «Python»