紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【Python+Psycopg2】PostgreSQLからEXISTSを使ってデータの存在チェックメソッドを作る方法

f:id:yokoyantech:20180717175613p:plain

実行環境

  • AWS Lambda
  • Python3.6
  • PostgreSQL9.6.6
  • psycopg2

やりたいこと

  • existsでデータの有無を確認
  • 結果をBooleanで返却したい

解決方法

fetchone()を使う。公式ドキュメントは以下。

The cursor class — Psycopg 2.7.5 documentation

実装例

def is_exists(cur, fuga_no):
    cur.execute(
        "SELECT EXISTS (SELECT * FROM public.hoge WHERE fuga_no = %s)" % fuga_no)
    return cur.fetchone() is not None

参考情報

stackoverflow.com