即使数据存在,查询也没有返回结果

问题描述 投票:0回答:1

我尝试使用 Python API 从 GridDB 容器检索数据,但它没有返回任何结果。这是我的代码:

import griddb_python as griddb

factory = griddb.StoreFactory.get_instance()
store = factory.get_store(
    host='localhost',
    port=2406,
    cluster_name='mycluster',
    username='admin',
    password='admin'
)

conInfo = griddb.ContainerInfo("mycontainer",
                               [["id", griddb.Type.INTEGER],
                                ["name", griddb.Type.STRING]],
                               griddb.ContainerType.COLLECTION, True)

con = store.get_container(conInfo)
query = con.query("select * where id = ?", griddb.Type.INTEGER)
query.set_int(1, 1)
rs = query.fetch(False)
for row in rs:
    print(row)

当我运行此代码时,它不会打印任何内容,即使我知道容器中有 ID 为 1 的数据。这可能是什么原因造成的,如何修复它?

我尝试在互联网上寻找解决方案,但似乎没有任何效果。

python database griddb
1个回答
0
投票

根据Python API文档:https://griddb.org/python_client/PythonAPIReference.htm

您对查询 obj 的使用不正确。

query.set_int(1, 1)

我不确定您是否尝试插入数据作为测试,但是在文档中,没有名为

set_int
的方法。我认为您更适合使用 GridDB CLI 插入数据,然后以这种方式测试您的 python 脚本,因为这样您就可以 100% 知道数据在那里。

你还应该用 try/ except 来包装你的 python 代码来捕获错误,这样你就不会像你遇到的那样得到零打印

© www.soinside.com 2019 - 2024. All rights reserved.