IF 语句无法识别 EXISTS Postgres 查询的返回 True/False

问题描述 投票:0回答:1
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”等...

python postgresql psycopg2 psql
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.