如何仅获取由 MySQL 中唯一用户 ID 标识的列的值?请参阅问题以获得更详细的解释
How do I get only the value of a column identified by a unique userid in MySQL? pls refer to Question for more detailed explanation
我目前正在 python 中编写一个角色扮演游戏,它使用 mysql 数据库来存储玩家信息。但是,我遇到了一个问题。
如何设置数据库的示例代码:
playerinfo Table
userID | money | xp |
1 | 200 | 20 |
2 | 100 | 10 |
我正在尝试 select 仅具有价值的金额。我现在的 select 查询是
SELECT money FROM playerinfo WHERE id = 1
用于收集 select 信息的完整 code/function 是
def get_money_stats(user_id):
global monresult
remove_characters = ["{", "}", "'"]
try:
with connection.cursor() as cursor:
monsql = "SELECT money FROM players WHERE userid = %s"
value = user_id
cursor.execute(monsql, value)
monresult = str(cursor.fetchone())
except Exception as e:
print(f"An error Occurred> {e}")
当前输出:
{'money': 200}
期望输出:
200
基本上,我只想 select 是玩家行中的 INT/DATA(由唯一用户 ID 标识)。我怎么做?我唯一的解决办法是用其他东西替换角色,但我真的不想这样做,因为它非常不方便和混乱。还有其他方法可以 reformat/select 数据吗?
似乎获取一行可以为您提供所选列及其值的字典,这对我来说似乎是正确的方法。您应该简单地访问包含要检索的列的字典:
monresult = cursor.fetchone()['money']
如果您不想再次指定列(您应该指定),您可以将字典的值作为列表获取并检索第一个:
monresult = list(cursor.fetchone().values())[0]
我不推荐最后一种方法,因为它在很大程度上取决于查询的当前状态,如果查询发生变化,它可能必须改变。
我目前正在 python 中编写一个角色扮演游戏,它使用 mysql 数据库来存储玩家信息。但是,我遇到了一个问题。
如何设置数据库的示例代码:
playerinfo Table
userID | money | xp |
1 | 200 | 20 |
2 | 100 | 10 |
我正在尝试 select 仅具有价值的金额。我现在的 select 查询是
SELECT money FROM playerinfo WHERE id = 1
用于收集 select 信息的完整 code/function 是
def get_money_stats(user_id):
global monresult
remove_characters = ["{", "}", "'"]
try:
with connection.cursor() as cursor:
monsql = "SELECT money FROM players WHERE userid = %s"
value = user_id
cursor.execute(monsql, value)
monresult = str(cursor.fetchone())
except Exception as e:
print(f"An error Occurred> {e}")
当前输出:
{'money': 200}
期望输出:
200
基本上,我只想 select 是玩家行中的 INT/DATA(由唯一用户 ID 标识)。我怎么做?我唯一的解决办法是用其他东西替换角色,但我真的不想这样做,因为它非常不方便和混乱。还有其他方法可以 reformat/select 数据吗?
似乎获取一行可以为您提供所选列及其值的字典,这对我来说似乎是正确的方法。您应该简单地访问包含要检索的列的字典:
monresult = cursor.fetchone()['money']
如果您不想再次指定列(您应该指定),您可以将字典的值作为列表获取并检索第一个:
monresult = list(cursor.fetchone().values())[0]
我不推荐最后一种方法,因为它在很大程度上取决于查询的当前状态,如果查询发生变化,它可能必须改变。