python - 如何使用 SELECT COUNT sql 生成一个 int

标签 python mysql

我在 python 中有这段代码查询现有的数据库:

count = db.execute("SELECT COUNT (player_id) FROM players WHERE user_id 
= :id", id = session["user_id"])

for player in range(count):
    db.execute("INSERT INTO live_players (player_id) VALUES (:filler)", 
filler = 0)

但是,它不会运行,因为“count”不是 int。我希望 SELECT COUNT 返回 2,但它返回 '[{'COUNT (player_id)': 2}]'。我该如何补救?

最佳答案

您正在取回结果字典。只需访问它。为了使这种访问更容易,给它一个别名:

SELECT COUNT(player_id) AS player_count ...

然后:

for player in range(count["player_count"]):
   ...

关于python - 如何使用 SELECT COUNT sql 生成一个 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47665784/

相关文章:

python - 如何对嵌套函数进行单元测试?

python socket.gethostbyaddr()——减少超时?

mysql - 多个 Rails 应用程序读取另一个 Rails 应用程序的单个数据库/表

MYSQL 较高的 LIMIT 偏移量使查询变慢

mysql - 如何使用mysql将一个表中的所有列集成到另一个表的一列中

python - 为什么我的 CNN 总是返回相同的结果?

python - Pywinauto 如何获取返回元素的列表

python - 在 Python 中运行 lmer(线性混合效应回归)

mysql - 如何在 MySQL 数据库中生成一堆假用户

mysql - 在数据库级别将 varchar 列转换为 mysql 中的日期