次の PostgreSQL データベース テーブルがあります。
TABLE session_monitor
(
id int,
customer_name varchar(150)
)
次のコードを実行しているとき:
seq = pg_cur.execute("SELECT id ,customer_name from session_monitor")
for id, customer_name in seq:
print(id)
print(customer_name)
それは正常に動作しています。
でもやってみると
pg_cur.execute("SELECT max(id) as max_id from session_monitor")
for max_id in seq:
print(max_id)
私は数字を取得していませんが、むしろ:Row(max_id= 5)
問題を解決する回避策を試しました:
seq = pg_cur.execute("SELECT max(id) as max_id,1 as one from session_monitor")
for max_id, one in seq:
print(max_id)
しかし、このように使用するのはちょっと不自由なようです。
ここで何が間違っていますか?2番目のケースでクエリ結果を反復する別の方法はありますか?