@client.command()
async def tag(ctx, tag):
sql.execute(f'select tags_name from tags_list')
does_exist = sql.fetchone()
print(does_exist)
if does_exist is not None:
sql.execute(f'SELECT tags_content FROM tags_list')
final = sql.fetchall()
await ctx.send(final[0])
else:
await ctx.send(f"Tag named `{tag}` doesnt exists!")
因此,您在此处看到的代码用于从表tags_list
中获取内容。
上面的图像是表tags_list
。调用命令时,我试图获取tags_content
。但是例如,当我调用.tag test
之类的命令时,我希望它给我test
,因为它们在同一行中。但相反,它从第一行给出了tags_content
。因此,它给出的是h
而不是test
。如何指定要从中获取内容的行?
编辑:这是我运行命令.tag test
:('h',)
答案 0 :(得分:1)
从SQLite表中选择行时,可以使用WHERE
指定所需的行。例如:
SELECT tags_content FROM tags_list WHERE tags_name='test'
因此,在选择行时,可以使用tag
参数指定tags_name
。
@client.command()
async def tag(ctx, tag):
sql.execute(f'SELECT tags_content FROM tags_list where tags_name = "{tag}"')
final = sql.fetchone()
if final:
await ctx.send(final)
else:
await ctx.send(f"Tag named `{tag}` doesnt exists!")