如何确定表中是否存在记录?我尝试的方法是执行 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/