私はpsycopgを使用してPythonでこのSQLクエリを持っています:
cr.execute('select id from test_table where va1_1=%s
order by val_2 desc limit 1',(id, ))
クエリに複数のレコードがある場合、この方法では最後のレコードのみをフェッチします。次に、結果を変数に代入します。
x=cr.fetchone()[0]
ただし、クエリがレコードを返さない場合があり、cr.fetchone で割り当てると当然エラーになります。割り当てを試みる前に、クエリがレコードを返すかどうかを最初に確認する適切な方法は何ですか?
私は簡単に試しました:
if cr.exec....:
x=cr.fetchone()[0]
しかし、常にFalseを返し、常にfetchoneを実行していないようです。