база данных существует, значения столбцов не будут добавлены postgresql в python - PullRequest
0 голосов
/ 05 марта 2019

код

cur.execute("insert into employers (id, name ...) values (%s, %s ...)", (7, "Prosenjit Das" ...) WHERE NOT EXISTS (SELECT * FROM employers WHERE VALUES = %s))
conn.commit()

Как проверить здесь значение моего столбца существования, как будто значения не добавляются.Например, у меня уже есть id = 7 и имя «prosenjit Das», и если я хочу добавить id = 7 и name = «что-то», то оно не будет добавлено в таблицу.Просто проверьте там, если идентификатор уникален.Потому что большую часть времени я должен быть выполнен с теми же значениями.

Я новичок в Postgresql, и мои данные будут вставлены из моего файла python, поэтому я не могу понять, как написать эту логику.

Спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

cur.execute («вставить в работодателей (id, name ...) значения (% s,% s ...)», (7, «Prosenjit Das» ...) ON CONFLICT (id) DO UPDATESET name = exclude.name)

Это наиболее эффективный способ, который я получил, и здесь id должен быть первичным ключом, в противном случае вы получите «уникальное ограничение соответствия», похожее на эту ошибку.

...