如何确定表中是否存在记录?我尝试的方法是执行 SELECT 查询,然后使用以下方法计算 ResultSet 的行数:

rows = session.execute("SELECT * FROM test_table WHERE id=%s", ([<id_here>]))
if len(rows) == 0:
    print "Does not exist"

但是, ResultSet 不支持 len 。在另一个答案中,他们建议使用 SELECT COUNT(*) 这在另一个引用中是强烈不鼓励的。有没有更标准的方法来做到这一点?

最佳答案

您可以简单地执行以下操作之一:

rows = session.execute("SELECT * FROM test_table WHERE id=%s", ([<id_here>]))
if not rows:
    print "Does not exist"

或者,如果选择多行,您可以使用以下方法迭代 ResultSet:
for row in rows:
    do_something(row)

ResultSet 也有一个 current_rows 属性,如果没有返回,该属性将为空。

有关如何使用 ResultSet 的更多详细信息,请参阅 http://datastax.github.io/python-driver/api/cassandra/cluster.html#cassandra.cluster.ResultSet

关于python - 使用 Python 驱动程序检查 Cassandra 表中是否存在记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37946458/

10-15 07:14