【发布时间】:2021-02-20 05:05:57
【问题描述】:
@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',)
【问题讨论】:
-
你有一个名为
tag的方法,它有一个名为tag的参数(不是一个好主意..)代码对tag参数有什么作用? -
@balderman
tag等于数据库中的tags_name,它应该发送tags_content的内容。正如我在问题中所说的那样。 -
据我了解,
tag参数不是 sql 查询的一部分。对吗? -
@balderman 是的,它在数据库中不存在。它仅适用于命令
-
我认为你需要有 1 个 sql 查询:
select tags_name,tags_content from tags_list where tag_name = <your tag>- 不是吗?
标签: python sql sqlite discord.py discord.py-rewrite