gpt4 book ai didi

python - sqlalchemy 标量查询问题?

转载 作者:行者123 更新时间:2023-11-30 23:38:53 25 4
gpt4 key购买 nike

此查询有什么问题。

self.connection.execute(select([func.count(table.c.id)]).as_scalar())

这给了我这个回溯

StatementError: Not an executable clause (original cause: ArgumentError: 
Not an executable clause) '(SELECT count(table.id) AS count_1 \nFROM agent)'

或者如何使用SqlAlchemy Core获取表中所有行的数量

最佳答案

不确定为什么需要使用 .as_scalar() 方法。该方法旨在用于创建子查询对象。子查询对象用于构建另一个查询,而不是直接执行。

从您的代码看来,您正在构建要执行的选择查询:

在这种情况下,以下代码就足够了:

self.connection.execute(select([func.count(table.c.id)]))

以下代码可以正常运行:

r = engine.execute(select([func.count(table.c.id)]))
print r
for i in r:
print i

结果:

<sqlalchemy.engine.base.ResultProxy object at 0x032F4E30>
(1,)

PS:来自 sqlalchemy 文档: The Query Object: as_scalar

as_scalar()

Return the full SELECT statement represented by this Query, converted to a scalar subquery.

关于python - sqlalchemy 标量查询问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14050394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com