0

所以,我是一个关于 SQL 和 postgresql 和数据库管理的新手,但我需要一个数据库来用于我正在做的不和谐机器人。我正在使用 asyncpg 通过 python 管理数据库

现在,假设我有一个命令必须找到该数据库中是否已存在用户名:

try:
            with open("creds.json", "r") as file:  
                creds = json.load(file)
            print("\n" + "Connecting to database")    
            host = creds["DB_HOST"]
            user = creds["DB_USER"]
            password = creds["DB_TOKEN"]
            database = creds["DB_NAME"]
            conn = await asyncpg.connect(host=host, user=user, password=password, database=database)
            print("\n"+ f"PostgreSQL conection to database stablished succesfully")
            exists = await conn.fetch('''
SELECT EXISTS (
SELECT 1 
FROM table 
WHERE username=($1)); 
''', str(discordusername#1234)) 
            await conn.close()  
            print("Query finished, connection to database closed")        
            print(exists)

它以这种形式返回 True 或 False [<Record exists=False>] or [<Record exists=True>],因此要检查它的真或假,我必须将“存在”转换为字符串,然后将其与字符串进行比较[<Record exists=False>] or [<Record exists=False>]

if str(exists) == "[<Record exists=False>]":
    ...
elif str(exists) == "[<Record exists=True>]"
    ...

无论如何“转换”为Python 可以直接理解[<Record exists=False>]的普通 False 和普通 True 吗?[<Record exists=False>]

从表中获取值时也是如此,例如,必须以相同方式处理的 int 值,例如返回,

[<Record rowname=5>]
4

0 回答 0