このクエリによって返される数または行を取得する正しい方法は何ですか?私は特に結果が返されないかどうかを調べています。
sql = 'SELECT count(*) from table WHERE guid = %s;'
data=[guid]
cur.execute(sql,data)
results = cur.fetchone()
for r in results:
print type(r) # Returns as string {'count': 0L} Or {'count': 1L}
ありがとう。
results
はそれ自体が行オブジェクトであり、あなたの場合(要求されたprint
出力から判断)、辞書(おそらく dict-like cursor subclass ); count
キーにアクセスするだけです。
_result = cur.fetchone()
print result['count']
_
.fetchone()
を使用したため、行のリストではなく、1行のみが返されます。
Dict(-like)行カーソルを使用しているではない場合、行はタプルであり、カウント値は最初の値です。
_result = cur.fetchone()
print result[0]
_