Как получить конкретное значение из бд sql в python?
У меня есть код написанный на discord.py и sqlite3:
for players in cursor.execute("""SELECT player1 FROM lobby WHERE id = ?""", [0]):
if players[0] == None:
cursor.execute("""UPDATE lobby SET player1 = ? WHERE id = ?""", (ctx.author.id, 0))
sqlite_connection.commit()
embed = discord.Embed(
description=f"[1/10] {ctx.author.mention} присоединился к очереди"
)
await ctx.send(embed=embed)
print(players[0])
переменная p1 выдает: ('None',), а мне надо получить просто None без лишних символов как я могу это сделать?
Ответы (1 шт):
Автор решения: q r t s
→ Ссылка
Вытаскивать значения из базы данных можно с помощью for, in:
for test in cursor.execute("""SELECT player1 FROM lobby WHERE id = ?""", [0]):
Мы назвали переменную test. Теперь player1 можно использовать как test[0]. Например:
if test[0] == None: #Вместо None лучше использовать значение по умолчанию в Вашей таблице..
Последующие значения, например SELECT player1, player2, player3 FROM мы получаем как test[0], test[1], test[2] и т.д.
Полный код:
for test in cursor.execute("""SELECT player1 FROM lobby WHERE id = ?""", [0]):
if test[0] == None:
....