discord.py SQLite获取行内容

时间:2020-11-07 20:14:42

标签: python sql sqlite discord.py discord.py-rewrite

@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中获取内容。

enter image description here

上面的图像是表tags_list。调用命令时,我试图获取tags_content。但是例如,当我调用.tag test之类的命令时,我希望它给我test,因为它们在同一行中。但相反,它从第一行给出了tags_content。因此,它给出的是h而不是test。如何指定要从中获取内容的行?

编辑:这是我运行命令.tag test('h',)

时得到的结果

1 个答案:

答案 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!")