如何解决如何从我的 sql 数据库中为 discord.py 取回 int 中的值
我厌倦了在 discord.py 中为经济型游戏创建数据库,我成功创建了创建配置文件命令,但在以下代码中遇到错误,问题是 mycursor.fetch 返回的值不是定义为字符串,因此我无法将其添加到 a,我还打算发出一个命令来显示木材的数量,因此我需要帮助以获取 int 等值
async def chop(ctx):
with connection.cursor() as cursor:
mycursor.execute(f"Select Wood from Record where UID='{ctx.author.id}'")
x=mycursor.fetchall()
print(x)
a=random.randrange(0,300)
p=a+x
c=f"UPDATE Record SET Wood ={p} WHERE UID ='{ctx.author.id}';"
l=discord.Embed(description=f"You have chopped down {a} Wood",color=0x800000)
await ctx.channel.send(embed=l)```
解决方法
Sql 命令:
CREATE TABLE <table_name> (<row1> INTEGER,<row2> TEXT) #creates a table
SELECT * FROM <table_name> #to get all rows fron table
SELECT <row1>,<row2> FROM <table_name> #To get 2 rows from table
SELECT * FROM <table_name> WHERE <row1>=<value> #to get rows where row1 is our spesific value
DELETE FROM <table_name> #delete all rows
DELETE FROM <table_name> WHERE <row1>=<value> #deletes a spesific row
UPDATE <table_name> SET <row1>=<new_value>,<row2>=<new_value2> WHERE <row1>=<current_value> #updates rows
,
首先,你不应该为 discord.py bot 使用 mysql-connector,它是 blocking。尝试使用类似 aiomysql
关于您的代码,mycursor.fetchall()
返回包含获取的值的元组列表。在实际在机器人中使用它之前,先试一试。
x = mycursor.fetchall()
wood = x[0][0] #this is the actual value
wood += a
#update database here
参考文献:-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。