在 Python 中解析 SQLite 查询的 return

Parsing the return of SQLite Query in Python

我在 Flask (Python) 网络应用程序中有一个 SQLite 数据库,这是我用来查看电子邮件是否已注册的代码(在我的 application.py 文件中)。它 returns 一个布尔值(1 或 0),分别表示它是否存在。

db = SQL("sqlite:///test.db")

exists = db.execute("SELECT EXISTS(SELECT 1 FROM people WHERE email in (?))", (email@domain.com))

其中 print(exists) returns:

[{"EXISTS(SELECT 1 FROM people WHERE email in ('email@domain.com'))": 1}]

简而言之,我得到了所需的结果(使用未注册和注册的电子邮件进行了测试),但我不知道如何访问这个值 1 或 0。

非常感谢任何想法。

尝试为 select 查询的存在部分添加别名

exists = db.execute("SELECT EXISTS(SELECT 1 FROM people WHERE email in (?)) as email_exists", (email@domain.com))
        print(exists[0])

那么您应该可以通过 exists[0]['email_exists'] 访问该值。这将为您提供 10,您接下来可以将其转换为 bool

exists = db.execute("SELECT EXISTS(SELECT 1 FROM people WHERE email in (?)) as email_exists", (email@domain.com))
        print(bool(exists[0]['email_exists']))