【发布时间】:2020-03-29 18:59:47
【问题描述】:
我正在尝试通过用户输入将值插入数据库。以下代码无需用户输入即可工作:
mycursor = mydb.cursor()
sql = "INSERT INTO DiscordData (UserID, Code) VALUES (%s, %s)"
val = ("1234", "foobar")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
但是,当我将代码传递到命令处理程序以供用户输入时,并没有插入数据:
@bot.command()
async def foo(message, arg):
if isinstance(message.channel, discord.DMChannel):
await message.send(arg)
mycursor = mydb.cursor()
sql = "INSERT INTO DiscordData (UserID, Code) VALUES (%s, %s)"
val = ("123", arg)
await mycursor.execute(sql, val)
await mydb.commit()
print(mycursor.rowcount, "record inserted.")
【问题讨论】:
-
您使用的是什么数据库库?如果它不是显式异步的,那么
await mycursor.execute没有意义,会导致错误。
标签: python sql discord.py mysql-connector