2016-06-21 27 views
2

レコードがテーブルに存在するかどうかはどのように判断できますか?Pythonドライバを使用してCassandraテーブルにレコードが存在するかどうか確認してください

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

しかし、ResultSetlenをサポートしていません。私が試した方法は、以下のSELECTクエリを実行してから使用してResultSetの行をカウントするようにしました。別の答えでは、彼らはSELECT COUNT(*)を使用することを提案しています。別の参考文献では、これは強く推奨されていません。これを行うための標準的な方法がありますか?

答えて

3

あなたは、単に次のいずれかを行うことができます

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を参照してください。

関連する問題