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”等...
非常感谢@TurePålsson 的见解!我能够通过使用元组“if result == [(True,)][0]:”使代码正常工作,但是我仍然不知道这段代码到底在做什么以及为什么我需要指定 0 或任何东西否则为第二个值。