psycopg2 как проверить, существует ли запись с такими же значениями атрибутов - PullRequest
0 голосов
/ 05 августа 2020

Есть ли простой способ проверить данную таблицу и запись, существует ли уже другая запись в таблице, которая имеет те же значения атрибутов, что и данная запись? Мне нужно проверить это для ряда различных таблиц и записей. Таким образом, общий запрос был бы идеальным.

например: скажем, у нас есть таблица с атрибутами пола и возраста. Нам также дается запись Male, 32

Мне нужен способ проверить, есть ли в таблице уже запись Male, 32. (но обычно для любой таблицы)

1 Ответ

0 голосов
/ 05 августа 2020

Вы можете сделать это с помощью модуля sql от psycopg. Что-то вроде:

import psycopg2
from psycopg2 import sql  
con = psycopg2.connect(dsn)
tbl_name = "some_name"
qry = sql.SQL("select count(*) from {table_name} where gender = %(gd)s and age = %(age)s").format(table_name=sql.Identifier(tbl_name))
cur = con.cursor()
cur.execute(qry, {"gd": "Male", "age": 32 })
ct = cur.fetchone()[0]
...