首页 > 解决方案 > python inside()中的查询结果并将其转换为整数?

问题描述

我的查询就像这样获取表的所有行,这是用于分页:

totalReviewRows =  dbSession.execute(
   "SELECT COUNT(*) FROM reviews WHERE book_id = :book_id",
   { "book_id": book['id'] }
).fetchone()

它打印出这样的结果,它看起来像 js 中的一个数组?但在()里面:

totalReviewRows = (1,)

那是什么 ()?以及如何将其中为 1 的结果 (1,) 转换为整数?另外,我如何在烧瓶内进行查询以仅返回结果 1 而不是在 () 内?

标签: pythonsqlite

解决方案


(1,)是一个tuplefetchone()将一条记录作为元组返回。如果没有获取记录,则返回None.

您可以索引元组以获取第一个元素,如下所示:

totalReviewRows =  dbSession.execute(
   "SELECT COUNT(*) FROM reviews WHERE book_id = :book_id",
   { "book_id": book['id'] }
).fetchone()[0]

结果应该是

>>> totalReviewRows
>>> 1

推荐阅读